设计模式-简单工厂模式
简单工厂模式又称为静态工厂模式,属于类创建型模式
简单工厂模式包含三个角色
1.Factory(工厂角色):负责实现创建所有实例的内部逻辑
2.Product(抽象产品角色):是所创建的所有对象的父类,负责描述所有实例所共有的公共接口
3.ConcreteProduct(具体产品角色):创建目标,所有创建的对象都充当这个角色的某个具体类的实例
简单工厂模式最大的问题在于工厂类的职责相对过重,增加新的产品需要修改工厂类的判断逻辑,与开闭原则相违背
简单工厂模式的要点在于:当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无需知道其创建细节
简单工厂模式的优点:
1.工厂类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,客户端可以免除直接创建对象的责任,而仅仅消费产品;
2.可以减少使用者的记忆量
3.通过引入配置文件,提高了系统的灵活性
简单工厂模式的缺点:
1.由于工厂类集中了所有产品创建逻辑,一旦不能正常工作,整个系统都要受到影响
2.使用简单工厂模式将会增加系统中类的个数,在一定程度上增加了系统的复杂度和理解难度
3.系统扩展困难,不利于系统的扩展和维护
4.简单工厂模式由于使用了静态工厂方法,造成角色无法形成基于继承的等级结构