現在對模式有個初步的了解,想試著寫出「設計模式」的心理測驗。
你這陣子開發遇到問題了嗎?
感到卡卡是因為對於管理物件的製作、生成感到頭疼嗎?
感到卡卡是因為對於物件的結構,以及如何組合大型物件感到頭疼嗎?
感到卡卡是因為對於物件的演算法、權責分配以及溝通方式感到頭疼嗎?
想要體驗看看設計模式如何運用嗎?
希望直觀、不拖泥帶水地建立物件?
物件的種類繁多,希望能找出規律來建立物件?
物件的製作過程很複雜?擔心在過程中會忘記一兩個步驟?
跟物件的建立沒關係,而是煩惱如何實作物件的 Deep Copy?
煩惱要如何跟特定時間內只允許單一物件進行操作的物件進行溝通?
多個物件之間的介面不相容,無法輕易溝通?
還沒動手開發,而是煩惱往後開發出多個商業邏輯層後,要如何使用?
要求多個物件,彼此結構、方法相同,還可以組合成一個大物件,其結構、方法也雷同?
不打算使用繼承就能幫物件新增功能?
希望幫系統建立一個單一對外窗口?
使用大量擁有類似結構的物件,導致記憶體使用量增加,想找出降低記憶體使用量的可能?
不想要修改物件,卻需要增加、限制、改變物件對外的功能?
物件的行為需要通過一連串的檢查點?或是通過幾個就算通過??
需要將物件的執行命令加以儲存、待命、剔除的功能?
單純想了解簡單版的字串轉譯機制?
面對非陣列的資料結構,需要實作 forEach()
?
系統內物件的溝通關係複雜,想要建立一個中介者輔助物件的溝通?
物件的內部狀態需要在執行時暫時儲存在記憶體內?
如果單一物件的狀態改變,多個物件需要立即變動、執行相對應的行為?
物件的方法深受自身的狀態影響?
傳入的參數會影響物件方法的計算過程?
物件大致上完成,剩下幾個方法的細部執行內容有差異,需要成立獨立的物件?
特定資料結構的物件,往後可能會新增多個方法,根據物件的資料結構而有不同的產出?
你現在開發沒遇到大問題,新增、擴充功能都順順利利,那很好,不用特地花時間閱讀了,做點享受的事吧!
如果看完上面那段沒有被勸退,那就任意在下方挑個模式閱讀吧!
你可能不是遇到物件的問題,而是:
不論是哪一種,Google 相關主題,或是去書店翻翻書吧!
沒錯,你可能在找尋「Simple Factory Method」。
可以參考:
沒錯,你可能在找尋「Factory Method」。
可以參考:
沒錯,你可能在找尋「Abstract Factory」。
可以參考:
沒錯,你可能在找尋「Builder」。
可以參考:
沒錯,你可能在找尋「Prototype」。
可以參考:
沒錯,你可能在找尋「Singleton」。
可以參考:
沒錯,你可能在找尋「Adapter」。
可以參考:
沒錯,你可能在找尋「Bridge」。
可以參考:
沒錯,你可能在找尋「Composite」。
可以參考:
沒錯,你可能在找尋「Decorator」。
可以參考:
沒錯,你可能在找尋「Facade」。
可以參考:
沒錯,你可能在找尋「Flyweight」。
可以參考:
沒錯,你可能在找尋「Proxy」。
可以參考:
沒錯,你可能在找尋「Chain of Responsibility」。
可以參考:
沒錯,你可能在找尋「Command」。
可以參考:
沒錯,你可能在找尋「Interpreter」。
可以參考:
沒錯,你可能在找尋「Iterator」。
可以參考:
沒錯,你可能在找尋「Mediator」。
可以參考:
沒錯,你可能在找尋「Memento」。
可以參考:
沒錯,你可能在找尋「Observer」。
可以參考:
沒錯,你可能在找尋「State」。
可以參考:
沒錯,你可能在找尋「Strategy」。
可以參考:
沒錯,你可能在找尋「Template Method」。
可以參考:
沒錯,你可能在找尋「Visitor」。
可以參考:
滿意!完成一篇自娛娛人的測驗!!同時加深我對各種模式的既有印象!!!