设计模式学习2 Abstract Factory

解决问题:

Road road = new Road(), 显然road依赖于Road实现,而Road的类型可能是在不断变化,不能应对“具体实例化类型的变化”。这里的解决思路是“封装变化点”,将程序中一直在变化的地方封装起来,从而实现代码较小的改变。

Abstract Factory模式应用场景 : 应对“新系列”的需求的变化,对象是大致不变的,但是对象的系列的变化是经常的。

代码实现:

interfaces,这里说明我能提供什么功能,具体怎么实现不需考虑:

 

实现接口,相当于服务器端,这里实现相关服务:

客户端:

posted @ 2010-07-19 20:37  qiang.xu  阅读(153)  评论(0编辑  收藏  举报