亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于如何靈活運用設計模式的問題

關于如何靈活運用設計模式的問題

小怪獸愛吃肉 2018-08-03 22:38:06
去年看過一遍設計模式,最近將一些比較常見的又復習了一遍,但是總感覺還是不能將這23種設計模式做到融會貫通,舉一反三,想問各位,如何訓練自己將設計模式做到靈活運用,信手拈來的地步?
查看完整描述

2 回答

?
holdtom

TA貢獻1805條經驗 獲得超10個贊

設計模式是一群有著豐富編程經驗的人根據實際情況,抽象出來的一個模式,所以,你大概得

1.積累足夠的編程經驗
2.掌握從具體到抽象的能力

這樣,你學了設計模式之后,就可以很好的根據實際情況,挑選最優的模式。


查看完整回答
反對 回復 2018-08-06
?
米脂

TA貢獻1836條經驗 獲得超3個贊

理解設計模式,不是具體理解設計模式是怎么實現的,而是理解需要某個設計模式存在的場景,或者說某個設計模式是解決什么場景下的問題,這個就要你具備有“場景”的概念,如果沒有“場景”也就無從談起設計模式,所以最重要的在于你要抽象出場景的概念。
還是拿一個具體的例子來說,簡單就拿單例模式來說:

單例模式最初的定義出現于《設計模式》(艾迪生維斯理, 1994):“保證一個類僅有一個實例,并提供一個訪問它的全局訪問點?!?/p>

那么單例模式的場景是什么?

首先我們不考慮單不單例的問題,我們認為所有的類都可以衍生出來多個實例,我要用實例的時候就直接衍生,我們總會發現,我們衍生出來的實例會分成2種類型:

  1. 衍生出的實例各個相同

  2. 衍生出的實例都有各自不同的特征

那么對于1的類型,我們不僅要問,有必要每次都衍生出新的實例么?可以不可以只衍生一個實例反復使用呢?

ok,單例的場景出來了,就是要避免衍生出很多個相同的實例,當你遇到這個情況時,你就可以使用單例模式設計。

其他的設計模式都可以通過類似的還原場景來理解,畢竟先是有問題,后有的解決方案。

建立這個場景的概念是需要不斷的實踐出來的,還沒有場景的概念的時候,就先別說設計模式了。


查看完整回答
反對 回復 2018-08-06
  • 2 回答
  • 0 關注
  • 1255 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號