设计模式

1.10种常用 设计模式

https://blog.csdn.net/dean_hu/article/details/71195133

2.30种设计模式   简介

http://www.runoob.com/design-pattern/proxy-pattern.html

3.多线程的单例模式

https://blog.csdn.net/cselmu9/article/details/51366946

4.原型模式

缺点: 1、配备克隆方法需要对类的功能进行通盘考虑,这对于全新的类不是很难,但对于已有的类不一定很容易,特别当一个类引用不支持串行化的间接对象,或者引用含有循环结构的时候。 2、必须实现 Cloneable 接口。

为什么必须实现接口, 仅是因为用if验证没实现接口就不执行吗, 自己写Test1,Test2,Test3 类进行验证,,,,和foreach的iterator的区别

5.单例模式

双检锁,这种方式采用双锁机制,安全且在多线程情况下能保持高性能。
getInstance() 的性能对应用程序很关键。

线程安全的懒汉,必须加锁 synchronized 才能保证单例,但加锁会影响效率。

getInstance() 的性能对应用程序不是很关键(该方法使用不太频繁)。

为什么两个 都使用了  加锁,  但是双检索性能要高。

6.适配器模式

如何解决:继承或依赖(推荐)。

关键代码:适配器继承或依赖已有的对象,实现想要的目标接口。

http://www.cnblogs.com/jiqing9006/p/5915023.html

7.访问者模式

为何 违反了 迪米特原则 和  依赖倒置原则

原文地址:https://www.cnblogs.com/white-L/p/9197361.html