简单工厂模式

来源:互联网 发布:淘宝电动清扫车多少钱 编辑:程序博客网 时间:2024/05/20 18:45

简单工厂模式介绍

       简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

简单工厂模式使用场景分析及代码实现

要求输入两个数和运算符号,得到结果。

简单运算工厂类

public class operationfactory{  public static operation createoperte(string operate) {     opertion oper = null;     switch(operate)     {        case"+":          oper = new opertionadd();          break;        case"-":          oper = new operationsub();          break;        case"*";          oper = new operationmul();          break;        case"/";          oper = new operationdiv();          break;      }      return oper;   }}
客服端代码

opertion oper;oper = operationfactory.createoperate("+");oper.numberA=1;oper.numberB=2;double result = oper.getresult();

简单工厂的优缺点分析

        优点:工厂类是整个模式的关键所在。它包含必要的判断逻辑,能够根据外界给定的信息,决定究竟应该创建哪个具体类的对象。用户在使用时可以直接根据工厂类去创建所需的实例,而无需了解这些对象是如何创建以及如何组织的。有利于整个软件体系结构的优化。

      缺点:由于工厂类集中了所有实例的创建逻辑,这就直接导致一旦这个工厂出了问题,所有的客户端都会受到牵连;而且由于简单工厂模式的产品室基于一个共同的抽象类或者接口,这样一来,但产品的种类增加的时候,即有不同的产品接口或者抽象类的时候,工厂类就需要判断何时创建何种种类的产品,这就和创建何种种类产品的产品相互混淆在了一起,违背了单一职责,导致系统丧失灵活性和可维护性。而且更重要的是,简单工厂模式违背了“开放封闭原则”,就是违背了“系统对扩展开放,对修改关闭”的原则,因为当我新增加一个产品的时候必须修改工厂类,相应的工厂类就需要重新编译一遍。



0 0
原创粉丝点击