简单工厂的本质是:选择实现
何时选用简单工厂?
1.如果想要完全封装隔离具体实现,让外部只能通过接口来操作封装体,那么可以选用简单工厂,让客户端通过工厂来获取相应的接口,而无需关心具体的实现类
2.如果想要把对外创建对象的职责集中管理和控制,可以选用简单工厂,一个简单工厂可以创建很多的、不相关的对象,可以把对外创建对象的职责集中到一个简单工厂来,从而实现集中管理和控制
简单工厂有以下优点:
帮助封装
解耦
简单工厂有以下缺点:
可能增加客户端的复杂度
不方便扩展子工厂
代码示例:https://github.com/guangzheng88/design/tree/master/factory
网友评论