本内容只是对设计模式的一些学习感悟
一、迭代器模式
1.不需要了解类的内部结构,只需要知道实现了Iterator接口,可以获得迭代器直接迭代。
二、适配器模式
适配器模式有两种对象适配和类适配,对象是配继承,类适配当作属性。
1.如果有些功能已经存在,我们不需要从新编写只需要适配
三、模板模式
1.父类的模板方法中编写了算法,因此无需在每个子类中在编写算法,如果算法中出现bug只需修改父类中的
算法。
四、工厂模式
1.用来解耦,比如创建了N个A对象,但是这时候因为需求要改A对象,只需更改A对象的工厂类即可
2.比如创建比较复杂的类,只需配置好即可,省略繁琐对象的创建过程。(spring中就有许多工厂)
五、单例模式
优点
1.提供了对唯一实例的受控访问;
2.由于系统中内存只存在一个对象,因此可以节约系统的的资源,对于一些频繁的创建和销毁的对象单例模式无意可以提供系统的性能。
缺点
1.滥用单例将带来一些负面的问题,如为了节省资源将数据库连接池对象设计为单例模式,可能会导致共享连接池对象的程序过多未出而出现的连接池溢出,如果实例化对象长时间不用系统就会被认为垃圾对象被回收,这将导致对象状态丢失。