2 回答

TA貢獻1805條經驗 獲得超10個贊
設計模式是一群有著豐富編程經驗的人根據實際情況,抽象出來的一個模式,所以,你大概得
1.積累足夠的編程經驗
2.掌握從具體到抽象的能力
這樣,你學了設計模式之后,就可以很好的根據實際情況,挑選最優的模式。

TA貢獻1836條經驗 獲得超3個贊
理解設計模式,不是具體理解設計模式是怎么實現的,而是理解需要某個設計模式存在的場景,或者說某個設計模式是解決什么場景下的問題,這個就要你具備有“場景”的概念,如果沒有“場景”也就無從談起設計模式,所以最重要的在于你要抽象出場景的概念。
還是拿一個具體的例子來說,簡單就拿單例模式來說:
單例模式最初的定義出現于《設計模式》(艾迪生維斯理, 1994):“保證一個類僅有一個實例,并提供一個訪問它的全局訪問點?!?/p>
那么單例模式的場景是什么?
首先我們不考慮單不單例的問題,我們認為所有的類都可以衍生出來多個實例,我要用實例的時候就直接衍生,我們總會發現,我們衍生出來的實例會分成2種類型:
衍生出的實例各個相同
衍生出的實例都有各自不同的特征
那么對于1的類型,我們不僅要問,有必要每次都衍生出新的實例么?可以不可以只衍生一個實例反復使用呢?
ok,單例的場景出來了,就是要避免衍生出很多個相同的實例,當你遇到這個情況時,你就可以使用單例模式設計。
其他的設計模式都可以通過類似的還原場景來理解,畢竟先是有問題,后有的解決方案。
建立這個場景的概念是需要不斷的實踐出來的,還沒有場景的概念的時候,就先別說設計模式了。
- 2 回答
- 0 關注
- 1255 瀏覽
添加回答
舉報