1.简单工厂模式写法
来源于客户端,由client传入参数
来源于配置文件,从配置文件中获取用于判断的值
简单工厂的优点:
1.帮助封装,让组件外部能够真正的面向接口编程
2.解耦,实现了客户端合具体实现类的解耦
缺点:
1.可能增加客户端复杂度
如果通过客户端的参数来选择具体的实现类,那么就必须让客户端理解每个接口所代表的功能和含义,这样会增加客户端使用的难度,也不分暴露了内部实现,这种情况下可选择配置的方式实现;
2.不方便扩展子工厂
何时选用简单工厂:
1.如果想要完全封装隔离实现,让外部类只能通过接口来操作实体,那么可以选择工厂模式,让客户端通过工厂来实现对应的接口,无需关心内部实现。
2.如果想把对外部创建对象和职责统一管理和控制,可以选择工厂模式。