工厂模式
工厂模式在实践中有如下三种常用:简单工厂(Simple Factory)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)。其中Simple Factory并不是GoF提出的23种设计模式之一,但由于其实现简单所以也被广泛使用。
以下是三种工厂模式的类设计图和Java代码实现(点击这里下载):
简单工厂
类设计图:
工厂方法
类设计图:
抽象工厂
类设计图:
代理模式
代理模式在实践中我们经常使用的由静态代理和动态代理。静态代理比较简单,也比较容易理解,但如果系统中需要代理的对象很多,势必照成代理类的泛滥,那此时动态代理就排上用场了。另外,后来流行起来的AOP技术也能代理的效果(其实有些AOP的实现就是使用代理模式实现),但两者的思想还是有点不同。
以下是动态代码模式的类设计图和Java代码实现(点击这里下载):
静态代理
类设计图:
动态代理
类设计图: