遵循的六大原则:
- 单一职责原则
- 开放封闭原则
- 里氏替换原则
- 依赖倒置原则
- 迪米特原则
- 接口隔离原则
设计模式分类:
Java中的设计模式总共23种,根据目的准则分类,可以分为三种
-
创建型设计模式(5种):单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式;
-
结构型设计模式(7种):适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式
3.行为型设计模式(11种):策略模式、模版方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介模式、解释器模式。
优点和使用场景:
1. 工厂方法模式
理解:
两种写法,一是通过反射获取产品,此时只需要一个工厂类。二是对于每个产品新建一个工厂,此时有几种产品,就有几个工厂类,该模式也成为多工厂方法模式。
好处:
当需要增加产品时,只需要新建产品类。不用原始代码文件,拓展性好。
场景:
客户端只知道传入工厂类的参数,对于如何创建对象并不关心。
2.单例模式
理解:
单例模式的种类繁多,着重理解 双重判空单例模式DCL 和 静态内部类单例模式。
好处:
1.如果对象较繁琐,可以减少大对象的创建,节省内存开销。
2.减少new的操作,降低了系统内存的使用频率,减轻GC压力。
场景:
1.适用于创建频繁实例化然后销毁的对象。
2.适用于大对象的创建。
3.适用于创建频繁使用的数据库或文件的对象。
3.建造者模式
理解:Builder类是一个定义了组装方法的抽象类,需要实现该类,并返回产品类。为实现Dialog类似的链式定义结构,在Builder类的每个组装方法中均返回return this。
好处:
1.客户不必知道创建产品的内部细节;
2.建造者类之间是相互独立,容易扩展。
场景:
1.创建复杂对象;
2.多个部件组装到一个对象中,产生结果各不相同。
网友评论