回答
設計模式是不同的方法或工具或指南來解決軟件設計問題。掌握它們,可以幫助你
- 確定的問題或需求的模式
- 提出一個或多個解決方案,解決這個問題,評估利弊/利弊,並挑選最合適的
這將是我的簡短說明而不使用示例。但是,我總是喜歡使用的例子,無論如何,所以如果讓我提供的例子太多,我會選擇這些展示設計模式工作的「如果你看到這一點,做到這一點」的方式
當你知道你必須提供「撤消」功能,在您的交易,你知道,命令模式是很長的路要走
當你使用一個資源管理器,它會是不錯的使用Singleton模式
但是在爲您的RGP遊戲NPC設計AI時,您可以使用策略模式或模板模式。有些人甚至可能選擇裝飾模式。並不總是有一個確定的贏家。取決於什麼適合你更好。
在模塊之間劃分責任,任務和信息以及定義它們之間關係的常見情景?
設計模式是用來根據特定條件構造類的模式。
例子:
如果有,應該在整個應用程序(如數據庫適配器類)只有1個實例你去
Singleton
模式,這是一種模式,一次構造一個對象的類。只有1個實例。當你有大量的屬性和默認值的類你去
Builder
,它可以讓你構造一個對象通過鏈接它的制定者MyClass myClass = new MyClass.Builder() .setTitle("my title") .setBody("this is a body for the class") .setEnabled(true) .build();
如果您有相關的業務對象之間的操作。但他們沒有一個擁有另一個,你去爲
Facade
,這創建了一個業務的門面來處理所述對象。I.E:您有
Movies
,0Sales
對象,但如果清單中有電影,則只能創建Sale
。您不能使用Sales
來檢查Movies
,但可以創建名爲Store
的外觀,並處理對象的操作,如Store#createSale()
。當您有基於事件的代碼執行(如點擊)時,您可以使用
Listener
或Callback
。
「..您使用基於特定條件構建一個類」許多設計模式將引入一桶類,不只是一個:) – yannicuLar
- 1. 什麼設計模式是Java中的簡單繼承?
- 2. 什麼是最簡單的解釋什麼是Hadoop和Map/Reduce?
- 3. 設計模式 - 這是什麼模式?
- 4. .net中的設計模式是什麼?
- 5. 什麼是設計模式標題?
- 6. 什麼是門面設計模式?
- 7. 可以用最簡單的方式解釋什麼是Client-Server模型?
- 8. 這是什麼樣的設計模式?
- 9. MonetDB查詢計劃解釋中的語句是什麼意思?
- 10. 什麼是PHP中的工廠設計模式?
- 11. 什麼是單元測試的非常簡單的解釋?
- 12. 這是什麼設計模式?
- 13. asp.net中displayfor和displayname的簡單解釋是什麼?
- 14. 什麼是下面的語句解釋
- 15. 計劃中的簡單解釋器
- 16. 無模式對話框窗口的優秀設計是什麼?
- 17. 什麼是非鎖定設計模式?
- 18. 什麼是四人幫設計模式
- 19. 這是什麼設計模式?
- 20. 編程設計模式
- 21. 你能解釋Context設計模式嗎?
- 22. 什麼是「調度員」設計模式?
- 23. Jenkins的OneOffExecutor簡單的英文解釋是什麼?
- 24. 什麼是動作設計模式?
- 25. 什麼是鬼魂設計模式?
- 26. 什麼是解除擁有實體服務的設計模式?
- 27. 是什麼意識到設計模式?
- 28. 這是什麼設計模式?
- 29. 這是什麼JS設計模式?
- 30. 這是什麼設計模式?
SO不是字典。網上有幾十種,也許有數百種的定義和解釋;你一定是自己找了答案,並且至少閱讀了其中的一些 - 你不明白什麼? _That_對SO來說是一個合理的問題,但不是這個IMO – Clive
粗略的互聯網搜索似乎是一個開始的好地方... http://en.wikipedia.org/wiki/Design_pattern – David
我個人喜歡這個問題。 SO是專業人士和充滿激情的人們的地方 - 那些通過心臟和實踐瞭解編程模式的人。學習時要問什麼好?還是更多:在學習如何教學時? – hauron