模式筆記四:GRASP模式概論
General Responsibility Assignment Software Patterns 通用職責分配軟件模式
模式名稱 |
描述(問題/解決方案) |
信息專家模式Information Expert |
問題:對象設計和職責分配的一般原則是什么? |
創建者模式Creator |
問題:誰應該負責產生類的實例(對應于GoF設計模式系列里的“工廠模式”) |
控制器模式 Controller |
問題:誰處理一個系統事件? |
低耦合Low Coupling |
問題:如何支持低依賴性以及增加重用性? |
高內聚High Cohesion |
問題:如何讓復雜性可管理? |
多態模式Polymorphism |
問題:當行為隨類型變化而變化時誰來負責處理這些變化? |
純虛構模式Pure Fabrication |
問題:當不想破壞高內聚和低耦合的設計原則時,誰來負責處理這些變化? |
中介模式Indirection |
問題:如何分配職責以避免直接耦合? |
受保護變化模式Protected Variations |
問題:如何分配職責給對象、子系統和系統,使得這些元素中的變化或不穩定的點不會對其他元素產生不利影響? |
-
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 閱讀(739) 評論(0) 編輯 收藏 所屬分類: Java