就像物理 数学公式一样。比如几何,分析后知道用那个、那些公式来解决该问题。
模式也就是套用模板,类似习题做多了,也就有感觉了。
缺点:因为要职责分离 独立等需要拆分类、类里面的方法,会引入接口,这样会增加很多的类。
因为增加了很多类,还有层级,看代码的时间其实也是增加了(可读性还是进步了)。
不要滥用,不要滥用,不要滥用。公司的很多业务代码都可以按照设计模式来修改,但是代码复杂度,类的数量会增加非常非常多。这这点上,模式类似面向对象。业务的实现过程很多地方还是面向过程开发的。
一般JDK 提供给第三方扩展才会大量使用模式。一般的简单的业务代码不需要使用。怎么简单快速高效实现就怎么来。
一 分类
按不同的标签、特性的分类
1 创建型 (6个)-涉及到对象的创建,新的对象
单例:唯一一个对象,static的
建造者:同一个对象,动态添加属性
原型:多个相似的对象,类似克隆的概念
工厂:(简单工厂、工厂方法、抽象工厂)-很多对象
2 结构型(7个)- 对已有对象之间结构关系,即2个对象之间的关联使用
桥接模式:2个(多个)变化的维度
外观模式:类似封装的一个工具类(gson、fastjson),不关注子系统里面功能的具体实现。
适配器:使