admin 管理员组文章数量: 1184232
2024年3月28日发(作者:getche)
java常用的设计模式及应用场景
一、单例模式(Singleton)
单例模式是一种对象创建型模式,它指的是设计一个类,使其只能生成一个实例。它
只提供一个类实例,保证只有一个实例存在。
有时候,只需要一个类的实例来控制整个系统,例如实现一个全局的缓存,或是建立
一个共享的日志记录器,单例模式可以很好的实现这个目的。
应用场景:
1、对于需要频繁创建和销毁的对象,可以考虑使用单例模式,以避免过多地重复创
建和销毁造成系统开销。
2、对于某些资源比较宝贵的对象,例如数据库连接,则可以用单例模式进行封装,
保证全局应用程序只有一个,从而避免重复创建,浪费资源。
二、工厂模式(Factory)
工厂模式是一种类创建型模式,它把类的实例化推迟到子类来完成。它用于隔离客户
类和实例化对象,通过声明抽象类类来定义构造过程,将不同的定义转移到不同的子类中
去,从而使用户不需要关心实例化过程。
1、在有大量不同对象需要创建和管理的情况下,可以利用工厂模式封装类的实例化
和存储,将池中不同对象来进行统一管理。
2、在使用设计模式的情况下,复杂的类结构已经不适合用一个实例来创建,可以采
用工厂模式实现多个类的实例化,让用户不用关心对象实例的创建过程。
抽象工厂模式是一种工厂模式的拓展,它把简单工厂模式的单一职责拆分为多个类,
从而实现一个系列相关的或相互依赖的工厂,以满足比较复杂的对象创建需求。
1、在需要创建复杂对象,而复杂对象又由多个部件组成的情况下,例如计算机,单
一工厂模式已经不能满足需求,那么可以通过抽象工厂模式来实现。
2、在需要产生大量不同类型的对象,或者存在一系列相互依赖的产品族,这种情况
下可以使用抽象工厂模式,将工厂定义为不同维度组成的一个系列。
四、建造者模式(Builder)
建造者模式是一种设计模式,它也叫构造子模式,通过使用建造者模式,客户端可以
不必担心具体的生产过程,只需要给出具体的请求,由建造者来负责构造出请求的产品对
象。
1、在有复杂的产品对象的时候,例如需要对多个部件进行拼装,以构造出复杂的对
象,可以采用建造者模式将复杂的拼装过程进行封装,避免复杂的拼装过程变得混乱。
2、在有很多可选的部件,但是只有部分组合会得到最终产品的情况下,可以使用建
造者模式,将有效的组合进行封装,避免产品结构混乱。
版权声明:本文标题:java常用的设计模式及应用场景 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1711607528a602073.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论