這里的軟件設(shè)計(jì)通常指的是 面象對(duì)象的設(shè)計(jì) OO
1. 不要考慮可能產(chǎn)生的問(wèn)題。變化通常是由某個(gè)需求引起的。變化則可能破壞原有的設(shè)計(jì)。
這里的需求是客戶(hù)的問(wèn)題. 而引起的問(wèn)題則是設(shè)計(jì)方面的問(wèn)題。
2.變化會(huì)引起什么問(wèn)題呢?使原有的設(shè)計(jì)出現(xiàn)壞味道。產(chǎn)生多個(gè)違反設(shè)計(jì)原則的問(wèn)題。
為什么違反設(shè)計(jì)原則就是設(shè)計(jì)問(wèn)題呢?因?yàn)橐欢?...
3.一點(diǎn)是設(shè)計(jì)模式全都是在某個(gè)特定的環(huán)境下符合設(shè)計(jì)原則的產(chǎn)物。二點(diǎn)是發(fā)現(xiàn)他們?nèi)绱说某S门c好用,因此能夠被提升到設(shè)計(jì)模式。
4.設(shè)計(jì)模式是代碼的抽象, 設(shè)計(jì)原則是設(shè)計(jì)模式的抽象。
5.所有設(shè)計(jì)原則規(guī)根結(jié)底都會(huì)回到單一職責(zé)原則。
所以單一職責(zé)原則是軟件設(shè)計(jì)的核心,重點(diǎn)。一切設(shè)計(jì)最終都會(huì)回到這個(gè)點(diǎn)?
6.單一職責(zé)原則:就一個(gè)類(lèi)而言,應(yīng)該僅有一個(gè)引起它變化的原因。
其中的職責(zé),其實(shí)就是引起它變化的原因。
為什么呢?因?yàn)槿绻卸鄠€(gè)引起它變化的原因,那么可能會(huì)消弱該類(lèi)的其它功能。而則是沒(méi)有關(guān)系的那部分功能。
7.下面舉個(gè)列子:
以后再說(shuō).
posted on 2009-07-02 00:02
鹿哥 閱讀(200)
評(píng)論(0) 編輯 收藏 引用