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.设置自己的属性

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

  • 相关阅读:
    「BZOJ 1000」A+B Problem
    「HNOI 2008」越狱
    蓝桥杯 拼音字母
    蓝桥杯 抽签
    蓝桥杯 快速排序
    [蓝桥杯] 最大比例
    [蓝桥杯] 交换瓶子
    [蓝桥杯] 四平方和
    [蓝桥杯] 剪邮票
    [蓝桥杯] 方格填数
  • 原文地址:https://www.cnblogs.com/forhell/p/2024210.html
Copyright © 2011-2022 走看看