读大话设计模式

第一章 简单工厂


  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 >> 类型,棒棒糖类型;
    • 继承关系:空心三角形+实线(指向父亲);
    • 接口:空心三角形+虚线(指向接口);
    • 关联(企鹅需要知道气候的变化): 实线(指向气候);
    • 聚合(弱拥有,大雁与雁群):空心菱形+实线箭头(指向大雁);
    • 合成(强拥有,鸟和它的翅膀):实心菱形+实线箭头(指向翅膀);
    • 依赖(动物和空气):虚线(指向空气);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值