![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
总结23种设计模式
sulonelyking
也曾梦想仗剑走天涯......
展开
-
Java设计模式之模板方法模式
模板方法模式 1.定义: 定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 2.通用类图: 3.应用场景: (1)优点: 封装不变部分,扩展可变部分:把认为是不变部分的算法封装到父类去实现,可变部分可以通过继承来继续扩展。 提取公共部分代码,便于维护。 行为由父类控制,子类实现:基本方法是由子类实现的,子类可以通过扩展的方式增加相应的功能,符合开闭原则。 (2)缺点: 一般来说,抽象类负责声明最抽象,最一般的事物属性原创 2020-11-27 22:25:04 · 104 阅读 · 0 评论 -
Java设计模式之抽象工厂模式
抽象工厂模式 1.定义: 为创建一组相关或相互依赖的对象提供一个接口,而且无须指定他们的具体类。 2.通用类图: 3.应用场景: (1)优点: 良好的封装性,每个产品的实现类不是高层模块要关心的,它要关心的是接口,是抽象,它不关心对象是如何创建出来,只需要是由哪个工厂类生产出来的。 产品族内的约束为非公开状态。具体的产品族内的约束时在工厂内实现的。 (2)缺点: 扩展十分困难 (3)使用场景: 一个对象族(或是一组没有任何关系的对象)都有相同的约束,则可以使用抽象工厂模式 4.通用代码原创 2020-11-18 23:52:57 · 86 阅读 · 0 评论 -
Java设计模式之工厂方法模式
工厂模式 1.定义: 定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类 2.通用类图: 3.应用场景: (1)优点: 良好的封装性,代码结构清晰.一个对象创建时有条件约束的,如一个调用者需要一个具体的产品对象,只要知道这个产品的类名或约定的字符串就可以,不用知道创建对象的艰辛过程,减低模块间的耦合. 工厂方法模式的扩展性很优秀.在增加产品类的情况下,只需要适当地修改具体的工厂类或扩展一个工厂类. 屏蔽产品类.产品类的实现如何变化,调用者都不需要关原创 2020-11-11 00:03:12 · 96 阅读 · 0 评论 -
Java设计模式之单例模式
单例模式 1.定义: 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 2.通用类图: 3.应用场景: (1)优点: 由于单例模式在内存中只有一个实例,减少了内存开支,特别是一个对象需要频繁地创建、销毁时,而且创建或销毁是性能又无法优化,单例模式的优势就非常明显。 因为单例模式只会生成一个实例,所以减少了系统的性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后用永久驻留内存的方式来解决(在Java原创 2020-11-07 19:01:22 · 258 阅读 · 2 评论