摘要:
海報:Silverlight 1.1 閱讀全文
posted @ 2007-05-06 20:47
Silent Void
閱讀(432)
評論(0)
推薦(0)
摘要:
目前也有一些技術可以支持我們將合理假設明確化,例如測試驅動開發(fā)(Test-Driven Development,TDD)和基于契約設計(Design by Contract,DBC)。但是有誰知道設計的使用者會作出什么樣的合理假設呢?大多數(shù)這樣的假設都很難預料。如果我們預測所有的假設的話,我們設計的系統(tǒng)可能也會充滿不必要的復雜性。PPP一書中推薦的做法是:只預測那些最明顯的違反LSP的情況,而推遲對所有其他假設的預測,直到出現(xiàn)相關的脆弱性的臭味(Bad Smell)時,才去處理它們。我覺得這句話還不夠直白,Martin Fowler的《Refactoring》一書中“Refused Bequest”(拒收的遺贈)描述的更詳盡:子類繼承父類的methods和data,但子類僅僅只需要父類的部分Methods或data,而不是全部methods和data;當這種情況出現(xiàn)時,就意味這我們的繼承體系出現(xiàn)了問題。例如上面的Rectangle和Square,Square本身長和寬相等,幾何學中用邊長來表示邊,而Rectangle長和寬之分,直觀地看,Square已經(jīng)Refused了Rectangl 閱讀全文
posted @ 2007-05-06 12:58
Silent Void
閱讀(2481)
評論(10)
推薦(2)
浙公網(wǎng)安備 33010602011771號