设计模式学习2 Abstract Factory
解决问题:
Road road = new Road(), 显然road依赖于Road实现,而Road的类型可能是在不断变化,不能应对“具体实例化类型的变化”。这里的解决思路是“封装变化点”,将程序中一直在变化的地方封装起来,从而实现代码较小的改变。
Abstract Factory模式应用场景 : 应对“新系列”的需求的变化,对象是大致不变的,但是对象的系列的变化是经常的。
代码实现:
interfaces,这里说明我能提供什么功能,具体怎么实现不需考虑:
实现接口,相当于服务器端,这里实现相关服务:
客户端: