JAVA设计模式
文章平均质量分 52
JAVA设计模式
qq_21696621
这个作者很懒,什么都没留下…
展开
-
JAVA-策略模式
定义:定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户。可以消除大量的if...else逻辑判断类型:行为型场景:1)系统有很多类,而它们的区别仅仅在于它们的行为不同2)一个系统需要动态地在几种算法中选择一种优点:1)开闭原则2)避免使用多重条件转移语句3)提高算法的保密性和安全性缺点:1)客户端必须知道所有的策略类,并自行决定使用哪一个策略类2)产生很多策略类UML类图促销策略接口 Prom翻译 2021-07-05 15:17:20 · 56 阅读 · 0 评论 -
JAVA-责任链模式(职责任模式)
定义:为请求创建一个接收此次请求对象的链类型:行为性场景:一个请求的处理需要多个对象当中的一个或几个协作处理优点:1)请求的发送者和接收者(请求的处理)解耦2)责任链可以动态的组合缺点:1)责任链太长或者处理时间过长,影响性能2)责任链有可能过多Course类public class Course { private String name; private String article; private String vide翻译 2021-07-03 12:08:36 · 75 阅读 · 0 评论 -
JAVA-抽象工厂模式
定义:抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,无须指定它们具体的类类型:创建型场景:1)客户端(应用层)不依赖于产品类实例如何被创建、实现等细节2)强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量重复的代码3)提供一个产品类的库,所有的产品以同样的接口出现,从而使客户端不依赖于具体实现优点:1)具体产品在应用层代码隔离,无须关心创建细节2)将一个系列的产品族统一到一起创建缺点:1)规定了所有可能被创建的产品集合,产品族中扩展新的产翻译 2021-07-02 20:51:14 · 63 阅读 · 0 评论 -
JAVA-工厂模式
探究工厂模式,先了解简单工厂,简单工厂并不是23种设计模式的一种。简单工厂定义:由一个工厂对象决定创建出哪一种产品类的实例类型:创建型,但不属于GOF23种设计模式场景:1)工厂类负责创建的对象比较少2)客户端(应用层)只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心优点:只需要传入一个正确的参数,就可以获取你所需要的对象而无需知道实现细节缺点:工厂类的职责相对过重,增加新的产品,需要修改工厂类的判断逻辑,违背开闭原则(可以使用反射去避免)...翻译 2021-07-02 16:00:16 · 57 阅读 · 0 评论 -
JAVA-单例模式
分类:懒汉式和饿汉式单例应用场景:(1)单体应用计数器(2)应用配置、线程池(3)数据库连接池优点:(1)在内存里只有一个实例,减少了内存开销(2)可以避免对资源的多重占用(3)设置全局访问点,严格控制访问,即:对外不能new缺点:没有接口,扩展困难1)懒汉式:可延时加载实例,减小内存开销1.1多线程不安全的懒汉式代码单例类LazySingletonpackage com.geely.design.pattern.creational.singl翻译 2021-07-01 13:58:33 · 152 阅读 · 0 评论