设计模式第一篇——简单工厂模式&类图

从今天开始,小菜决定记录下来自己学习设计模式的过程,并总结每天所学内容记录在博客中。

以编写计算器程序为例,有+,-,*,/……很多种运算,因此需要if,else或switch,case进行判断,当有新的运算加入进来时改动会比较大,耦合度较大。

使用简单工厂模式:

class Operation              

{

    private numA;

    private numB;

    public void GetResult();

}

class OperationAdd/Sub/Mul/Div  extends Operation

{

    public void GetResult()

    {

          ……

    }

class OperationFactory

{

     public Operation createOperate(String operator)

    {

           Operation oper=null;

            switch(operator)

           {

               case "+": oper=new OperationAdd();

               ……

          }

           return oper;

      }

}

客户端代码

{

Operation oper;

oper=OperationFactory.createOperate("+");

oper.setNumA(1.2); oper.setNumB(7.5);

oper.GetResult();

}

 UML类图:常见类间的关系:继承;关联;聚合;合成;依赖

几种情况的类图和代码形式如下

 




©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页