简单工厂模式

来源:互联网 发布:育知同创logo 编辑:程序博客网 时间:2024/06/06 18:54

简单工厂模式又称静态工厂方法模式。这个模式很简单,它存在的目的也很简单:定义一个用于创建对象的接口。

组成 

工厂类角色:模式的核心,含有一定的商业逻辑和判断逻辑。

抽象产品角色:一般是具体产品集成的父类或者实现的接口

具体产品角色:工厂类所创建的对象就是此角色的实例。 

实例

某位暴发户买了两辆车--奔驰和宝马,还雇佣了司机为他开车。不过暴发户每次上宝马车就说:“开宝马车”,上奔驰车就说:“开奔驰车”。这样显得多此一举,现在我们把他改成直接说“开车”。

  

优点

客户端免除了直接创建产品对象的责任,仅仅需要消费产品

缺点 

添加产品时,工厂类需要改动,不符合开闭原则。当产品为多层次树形结构时简单工厂不方便处理