论面向组合子程序设计方法 之 失乐园 之补充
生活随笔
收集整理的這篇文章主要介紹了
论面向组合子程序设计方法 之 失乐园 之补充
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
失樂園發了之后。有的朋友對“OO是一種自頂向下的方法論”的論述有些疑問。?
這里補充一下。?
如果認可OO是一個責任分配體系,那么自頂向下就是一個自然的邏輯結論。?
沒有分析出來“需求”,也就無所謂“責任”,于是根本就無所謂“OO”了。?
這種從分析需求,分解需求,分配責任,再分析子需求,分解子需求,在子模塊內分配責任的方式,被我稱為“自頂向下”。?
至于說xp, tdd和自頂向下是不矛盾的。它們也都是要依賴于需求分析的。test case是什么?不就是需求么??
當然,這些方法論并不要求需求百分之百的細化,它們認可變化,擁抱變化,力求變化時的代價最小。不過,不管怎么說,它們仍然是要著眼于當前的需求的,應對需求變化的能力是另外一個話題,它并不能表示這些方法論不是自頂向下。?
“自底向上”確實古已有之,PO時代也確實有這個提法。但是,它的缺乏方向性,缺乏重用能力,缺乏整體組織等等弊病讓它從來都沒有成為設計的主流,沒有成為一個主導整體或者部分設計的思想。?
最多算是公有制體制內的私有制補充而已。PO時代它的地位就不高,到了OO時代,強調職責分配,它更是幾乎淪為一個歷史詞匯了。?
也許你會說,我在調用xcerces, stl的時候,難道也是自頂向下?我可從來沒有給stl的作者分配過責任啊。?
這其實和責任分配并不矛盾。中間如果發現可以重用的模塊,只要這個模塊向外承諾的責任符合我的期望,我就可以用。仍然是自頂向下,需求驅動,責任驅動。?
這里補充一下。?
如果認可OO是一個責任分配體系,那么自頂向下就是一個自然的邏輯結論。?
沒有分析出來“需求”,也就無所謂“責任”,于是根本就無所謂“OO”了。?
這種從分析需求,分解需求,分配責任,再分析子需求,分解子需求,在子模塊內分配責任的方式,被我稱為“自頂向下”。?
至于說xp, tdd和自頂向下是不矛盾的。它們也都是要依賴于需求分析的。test case是什么?不就是需求么??
當然,這些方法論并不要求需求百分之百的細化,它們認可變化,擁抱變化,力求變化時的代價最小。不過,不管怎么說,它們仍然是要著眼于當前的需求的,應對需求變化的能力是另外一個話題,它并不能表示這些方法論不是自頂向下。?
“自底向上”確實古已有之,PO時代也確實有這個提法。但是,它的缺乏方向性,缺乏重用能力,缺乏整體組織等等弊病讓它從來都沒有成為設計的主流,沒有成為一個主導整體或者部分設計的思想。?
最多算是公有制體制內的私有制補充而已。PO時代它的地位就不高,到了OO時代,強調職責分配,它更是幾乎淪為一個歷史詞匯了。?
也許你會說,我在調用xcerces, stl的時候,難道也是自頂向下?我可從來沒有給stl的作者分配過責任啊。?
這其實和責任分配并不矛盾。中間如果發現可以重用的模塊,只要這個模塊向外承諾的責任符合我的期望,我就可以用。仍然是自頂向下,需求驅動,責任驅動。?
而且,xcerces這些庫設計的時候,也一樣要假想一下需求,然后從需求出發的。(stl不是很一樣,它一定程度上有CO的影子,從基本組合子逐漸演繹的方法在其中也有體現,比如那個iterator和所有圍繞iterator的算法等)
from:http://ajoo.iteye.com/blog/23305
總結
以上是生活随笔為你收集整理的论面向组合子程序设计方法 之 失乐园 之补充的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论面向组合子程序设计方法 之 创世纪
- 下一篇: 论面向组合子程序设计方法 之 燃烧的荆棘