【Design pattern】设计模式思路总结(二)
備忘錄:
想要保存一個對象的狀態,可以通過備忘錄模式恢復到原先保存的狀態。
主類(自己的屬性和方法)——備忘錄類,單獨存放狀態————專門的狀態管理類
命令:
解決行為請求者和行為實現者之間的耦合!添加服務員類來傳遞請求者的命令,實現者只需要負責好自己的屬性和方法!
處理命令的種類不用,所以通過抽象類來代表,具體的命令類傳給服務員對象!在服務員類中設置IList集合,可以統一提交命令,實現命令,遇到不能執行的命令,直接在服務員類中作出解決,不必反饋到行為實現者判斷!
組合:
將對象組合成樹形結構————表示部分和整體的層次結構
組合模式使得單個對象和組合對象的使用具有一致性
抽象類
具體的類實現抽象類——————成為了組合對象,成為了首節點
單個對象實現具體的類————成為葉子節點
只在首節點中遍歷,類似二叉樹遍歷中的先序,中序,后序遍歷
迭代:
提供一種方法 順序得訪問一個聚合對象中的各個元素,而又不暴露對象的內部表示
分離了集合對象的遍歷行為,抽象出一個迭代器來負責,這樣既可以不暴露集合的內部結構,也可以外部代碼透明訪問集合數據
迭代器只負責集合對象的遍歷行為
看不到集合內部的內容
外部照樣可以訪問到集合數據
單例:
聲明一個全局變量使得這個對象被訪問
但不能防止多次實例化這個對象
讓類自身負責保護唯一的實例
提供一個訪問該實例的方法
橋接:
繼承中子類的實現與父類有緊密依賴關系
導致----->繼承下來的子類不適合解決新問題
導致----->如果這時候修改父類,父類重寫,子類也會有影響
盡量使用合成聚合,橋接就是實現了合成/聚合復用原則!通過減少繼承來降低代碼耦合性
?
總結
以上是生活随笔為你收集整理的【Design pattern】设计模式思路总结(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Design pattern】设计模式
- 下一篇: 【Design pattern】设计模式