<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ivaneeo's blog

    自由的力量,自由的生活。

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    范例(Examples)
    本例從兩個classes開始,代表[人]的Person和代表[部門]的Department:
    class Person {
        Department _department;

        public Department getDepartment() {
           return _department;
        }
        public void setDepartment(Department arg) {
           _department = arg;
        }
    }

    class Department {
        private String _chargeCode;
        private Person _manager;

        public Department(Person manager) {
           _manager = manager;
        }

        public Person getManager() {
           return _manager;
        }
    ...

    如果客戶希望知道某人的經理是誰,他必須先取得Department對象:
        manager = john.getDepartment().getManager();
    這樣的編碼就是對客戶揭露了Department工作原理,于是客戶知道:Department用以追蹤[經理]這條信息。如果對客戶隱藏Department,可以減少耦合(coupling)。為了這一目的,我在Person中建立一個簡單的委托函數:
        public Person getManager() {
           return _department.getManager();
        }
    現在,我得修改Person的所有客戶,讓它們改用新函數:
        manager = john.getManager();
    只要完成了對Department所有函數的委托關系,并相應修改了 Person的所有客戶,我就可以移除Person中的訪問函數個體Department()了。
    posted on 2005-08-31 13:35 ivaneeo 閱讀(192) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
    主站蜘蛛池模板: 最新仑乱免费视频| 99久久99久久免费精品小说| 亚洲午夜精品一区二区| 亚洲国产精品日韩在线观看| 99视频在线精品免费| 久久久久久亚洲av成人无码国产| 精品无码一级毛片免费视频观看| 在线观看的免费网站无遮挡| 亚洲Av无码国产情品久久 | 国产精品免费观看视频| 亚洲国产午夜福利在线播放| 国产福利电影一区二区三区,免费久久久久久久精 | 另类小说亚洲色图| 免费人成网站在线播放| 一个人晚上在线观看的免费视频| 亚洲精品无码99在线观看| 美女被cao网站免费看在线看| 亚洲国产精久久久久久久| 亚洲毛片在线免费观看| 亚洲看片无码在线视频| 永久免费毛片手机版在线看| 美女一级毛片免费观看| 无码乱肉视频免费大全合集| 中国china体内裑精亚洲日本| 国产乱弄免费视频| a毛看片免费观看视频| 91久久亚洲国产成人精品性色 | 一级毛片人与动免费观看| 亚洲人成网77777色在线播放| 99精品视频在线免费观看| 亚洲sss综合天堂久久久| 在线永久免费观看黄网站| 国产免费人成视频在线播放播| 亚洲成熟xxxxx电影| 免费看少妇作爱视频| 在线播放免费人成视频网站| 亚洲精品视频在线| 日韩免费电影在线观看| a级毛片免费播放| 亚洲AV成人噜噜无码网站| 久久久久久久免费视频|