四個擴展模式:P
不想一一詳敘,挑重點看。1,information expert:把職責分配給具有實現這個職責所需要信息的對象。它表述的是一種“直覺”。2,creator:顧名思義,誰應該負責產生類的實例?類B聚合,包含,記錄,密切使用類A的數據。3,high conhersion與Low coupling:應該是到了面向對象的高層境界了。高耦合:依賴性過強。內聚:功能性內聚。降低一切不穩定元素之間的耦合。4,controller:如果直接通過UI來訪問業務層,后果是不堪想像的。C/S模式的開發中它是用來接收事件的,它通常不實現職責,只是委托給其他對象。在B/S中,我把它理解為serlvet。5,polymorphism:多態?這個詞很別扭,一句話解釋:多態是設計系統如何處理相似變化的基本方法。便于擴展,可嵌入。比如以下代碼:
6,indirection與pure fabrication:目的無非是為了降低耦合。對象的設計分為兩類:表示分離與行為分解。indirection與pure fabrication都是行為分解的產物。比如說我們常見的DAO模式,我認為就是很好的pure fabrication。7,protected variations:書中翻譯為受保護變化。叫做受保護的變化似乎更容易被理解。受保護的變化機制的具體體現:多態,接口,中介,數據封裝。與LSP(liskov替換原理)很相似。
Powered by: BlogJava Copyright © nighthawk