zoukankan      html  css  js  c++  java
  • 面向对象的醒悟

    本人愚钝,编程近六年,才明白了责任分离是啥意思。

    以设计模式解析(第2版)的例子来说明,强调下:

    假设你是一个会议上担任讲师,听课的人在课后还要去听其他课,但他们不知道下堂课的听课地点,你的责任之一,就是确保大家都知道下堂课去哪上。

    一般是这样做的。

    1.get听课人的名单

    2.for i=0 i< 人数

        a.getnextclass //找到当前的人的下堂课是什么,

        b.getplace      //找到地点

        c.getpath      //找到路线

        d.givemap     //设置听课人的属性

    现在我这样做

    1.get听课人的集合

    2.tell集合gonextclass

    3.集合的gonextclass

         for i=0 i< 人数

               人.gonextclass

    4.人的gonextclas    

        a.getnextclass //下堂课是什么,

        b.getplace      //找到地点

        c.getpath      //找到路线

        d.设置自己的属性

    对比一下,那种更好,我觉得是第二种,第二种是多了一些代码,但是更好维护了。也更明确了。

  • 相关阅读:
    VS2010 添加项目依赖
    人工鱼群算法 AFSA
    粒子群算法 PSO
    CUDA速度测试
    AGSO 萤火虫算法
    用于WTL工具栏的辅助类CToolBarHelper
    关于结构体内存对齐
    遗传算法 GA
    A*算法
    人工蜂群算法 ABC
  • 原文地址:https://www.cnblogs.com/forhell/p/2024210.html
Copyright © 2011-2022 走看看