读大话设计模式

来源:互联网 发布:数据存储 信息安全 编辑:程序博客网 时间:2024/04/29 13:03

第一章 简单工厂


  1. 首先要考虑代码中存在的逻辑漏洞和不恰当之处

    • 比如说:计算器例子中的变量名使用不规范,多余的分支判断
  2. 使用封装、继承、多态把程序的耦合度降低

    • 封装:用计算器的例子来说,就是把业务逻辑(计算器类)和应用逻辑分开(调用函数)给分开。这样实现复用功能。

    • 继承和多态:用书中计算器例子的伪代码来说明

      class Operation{    number, numberB, result;    NumberA(){         //设置numberA,返回numberA;    }    NumberB(){        //设置numberB,返回numberB;    }    GetResult(){        result=0;        return result;    }}//===================================class OperationAdd extends Operation{    GetResult(){//覆盖        result=numberA+numberB;        return result;    }}class OperationAdd extends Operation{}class OperationSub extends Operation{}class OperationMul extends Operation{}class OperationDiv extends Operation{}//===================================//简单工厂class OperationFactory{    public static Operation createOperation(String operate){    Operation oper=null;    switch(operate){        case "+" :            oper = new OperationAdd(); break;            //................    }    return oper;    }}//===================================//调用Operation oper;oper = OperationFactory.createOperation("+");oper.NumberA(1);oper.NumberB(2);double result = oper.GetResult();
  3. UML基本规则

    • 接口有两种表现方式:<< interface >> 类型,棒棒糖类型;
    • 继承关系:空心三角形+实线(指向父亲);
    • 接口:空心三角形+虚线(指向接口);
    • 关联(企鹅需要知道气候的变化): 实线(指向气候);
    • 聚合(弱拥有,大雁与雁群):空心菱形+实线箭头(指向大雁);
    • 合成(强拥有,鸟和它的翅膀):实心菱形+实线箭头(指向翅膀);
    • 依赖(动物和空气):虚线(指向空气);
原创粉丝点击