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

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

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

    模式筆記四:GRASP模式概論

    General Responsibility Assignment Software Patterns  通用職責分配軟件模式

    模式名稱

    描述(問題/解決方案)

    信息專家模式Information Expert

    問題:對象設計和職責分配的一般原則是什么?
    解決方案:將職責分配給擁有履行一個職責所必需信息的類--即信息專家。(也就是將職責分配給一個類,這個類必須擁有履行這個職責所需要的信息。)

    創建者模式Creator

    問題:誰應該負責產生類的實例(對應于GoF設計模式系列里的工廠模式
    解決方案:如果符合下面的一個或多個條件,則將創建類A實例的職責分配給類B.
    .
    B聚合類A的對象。
    .
    B包含類A的對象。
    .
    B記錄類A對象的實例。
    .
    B密切使用類A的對象。
    .
    B初始化數據并在創建類A的實例時傳遞給類A(類B是創建類A實例的一個專家)
    在以上情況下,類B是類A對象的創建者。

    控制器模式

    Controller

    問題:誰處理一個系統事件?
    解決方案:當類代表下列一種情況時,為它分配處理系統事件消息的職責。
    .
    代表整個系統、設備或子系統(外觀控制器)。
    .
    代表系統事件發生的用例場景(用例或回話控制器)。

    低耦合Low Coupling

     

    問題:如何支持低依賴性以及增加重用性?
    解決方案:分配職責時使(不必要的)耦合保持為最低。

    高內聚High Cohesion

     

    問題:如何讓復雜性可管理?
    解決方案:分配職責時使內聚保持為最高。

    多態模式Polymorphism

    問題:當行為隨類型變化而變化時誰來負責處理這些變化?
    解決方案:當類型變化導致另一個行為或導致行為變化時,應用多態操作將行為的職責分配到引起行為變化的類型。

    純虛構模式Pure Fabrication

    問題:當不想破壞高內聚和低耦合的設計原則時,誰來負責處理這些變化?
    解決方案:將一組高內聚的職責分配給一個虛構的或處理方便的行為類,它并不是問題域中的概念,而是虛構的事務,以達到支持高內聚、低耦合和重用的目的。

    中介模式Indirection

    問題:如何分配職責以避免直接耦合?
    解決方案:分配職責給中間對象以協調組件或服務之間的操作,使得它們不直接耦合。

    受保護變化模式Protected Variations

    問題:如何分配職責給對象、子系統和系統,使得這些元素中的變化或不穩定的點不會對其他元素產生不利影響?
    解決方案:找出預計有變化或不穩定的元素,為其創建穩定的接口而分配職責。

    這些更象是一些OOD的原則, 模式會有很多, 但是萬變不離其宗, 大都遵循著一些基本的原則
    • OCP(Open-Closed Principle)
    • DIP(Dependency Inversion Principle)
    • LSP(Liskov Substitution Principle)
    • ISP(Interface Insolation Principle)
    • SRP(Single Resposibility Principle)
    • CARP(Composite/Aggregate Reuse Principle)
    • LoD(Law Of Demeter):don't talk to stranger
    之后我們來詳細討論這些原則

    posted on 2008-08-11 15:27 fantasyamin 閱讀(738) 評論(0)  編輯  收藏 所屬分類: Java

    <2008年8月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲不卡中文字幕无码| 亚洲国产视频网站| 91福利视频免费| 亚洲熟妇少妇任你躁在线观看| 国产乱色精品成人免费视频| 你懂的在线免费观看| 亚洲免费福利视频| 亚洲国产香蕉人人爽成AV片久久 | 亚洲av无码偷拍在线观看| 亚洲色一色噜一噜噜噜| 精品国产污污免费网站aⅴ | 成年在线网站免费观看无广告| 青青草国产免费国产是公开| 亚洲综合图片小说区热久久| 免费国产综合视频在线看| 99久久99久久免费精品小说| 亚洲国产无线乱码在线观看 | 可以免费观看的毛片| 亚洲欧美成人av在线观看| 亚洲午夜久久久久妓女影院 | 亚洲国产精品丝袜在线观看| 国产成人精品免费视频大| 一区二区三区免费电影| 亚洲国产精品免费在线观看| 亚洲人成色77777在线观看大| 免费无码A片一区二三区| 伊人免费在线观看高清版| 国产亚洲欧美日韩亚洲中文色 | 成全视频在线观看免费| 老牛精品亚洲成av人片| 亚洲不卡在线观看| 亚洲av中文无码乱人伦在线播放 | 亚洲成人免费网址| 亚洲欧洲日产国码无码久久99| 在线日韩av永久免费观看| 99爱在线精品免费观看| 青青草无码免费一二三区| 久久久久国色AV免费观看| 猫咪www免费人成网站| 亚洲午夜无码毛片av久久京东热| 久久亚洲国产成人精品性色|