重看head first设计模式,为了加深理解,练手把一些设计模式实现了一遍,
贴出来供大家批评指正。
装饰者模式:
说明:可以给Wood加上任意多的装饰者实现,比如此例子中实现了两个装饰者,
一个是红色RED装饰,一个是小SMALL装饰,最终得到的是 红色的 小的 木头。
适配器模式:
说明:M1911是手枪,只能单发“DA!”,M16是突击步枪,可以三连发,“DA DA DA”
通过一个M16适配器,可以让手枪表现的和M16相似,好像是一把M16一样。
代理模式:
说明:实现了两个代理,功能都是在真正的打印前,打印倒数4,3,2,1,0。
第一个代理自己写代码实现。第二个代理是用JAVA的动态代理功能实现。
其余还有策略模式,观察者模式,状态模式,工厂模式的代码,比较常见,就不贴了。