關(guān)于[面向集合的框架設(shè)計(jì)]的一些說(shuō)明
Posted on 2007-12-03 23:54 canonical 閱讀(1166) 評(píng)論(2) 編輯 收藏 所屬分類: 設(shè)計(jì)理論 我習(xí)慣于概念層的推演,而且所闡述的東西多數(shù)是我們創(chuàng)造過(guò)程中的副產(chǎn)品,與業(yè)內(nèi)常見(jiàn)的觀念實(shí)際上是有著很大差異的。有些人感覺(jué)我的文章讀不明白是因?yàn)闆](méi)有采用類似的視角,或者還沒(méi)有獨(dú)立思考過(guò)很多問(wèn)題。如果只是從業(yè)內(nèi)已經(jīng)熟知的概念出發(fā)試圖理解我所寫的內(nèi)容,顯然是不可能的事情。所以我常說(shuō)know something already known.
如果在編制一個(gè)新的應(yīng)用,存在大量代碼可能是
其實(shí)我們真正關(guān)心的是循環(huán)內(nèi)部的某個(gè)過(guò)程,但是我們經(jīng)常可以觀察到它們被某些通用的或者特定的循環(huán)(集合遍歷)操作所包圍著。Witrix的設(shè)計(jì)方式是強(qiáng)調(diào)業(yè)務(wù)關(guān)注點(diǎn),而把所有的匯總操作盡量抽象完成。比如現(xiàn)在界面上顯示一些字段。從抽象的操作上說(shuō)
這一過(guò)程在平臺(tái)代碼中實(shí)現(xiàn),它是一個(gè)通用的集合操作過(guò)程。不同的具體應(yīng)用只是關(guān)心具體字段的展現(xiàn)形式,雖然我們必然需要字段集合,但是它不是我們注意力的重心。
如果考慮到字段在界面上展示有一個(gè)布局問(wèn)題,我們所要修改的是集合內(nèi)部的結(jié)構(gòu)方式:
抽離出集合,實(shí)際上是在最大限度上分離結(jié)構(gòu)問(wèn)題和內(nèi)容問(wèn)題。
結(jié)構(gòu)是可抽象的,是具有獨(dú)立意義的。這就是Witrix所提出的面向結(jié)構(gòu)的設(shè)計(jì)視角。不是強(qiáng)調(diào)對(duì)象的所謂業(yè)務(wù)含義,不是強(qiáng)調(diào)某種通用語(yǔ)言(例如ruby)的靈活的語(yǔ)法結(jié)構(gòu)。在這之間存在著厚重的具有物理意義的可以進(jìn)行結(jié)構(gòu)分析的技術(shù)層。http://canonical.javaeye.com/blog/60758 http://canonical.javaeye.com/blog/126467
如果在編制一個(gè)新的應(yīng)用,存在大量代碼可能是
myFunc(){
for each x in set
doSomethingValuable(x);
return packedResult;
}
myOtherFunc(packedResult){
for each y in pakedResult
doSomethingOther(y)
}
for each x in set
doSomethingValuable(x);
return packedResult;
}
myOtherFunc(packedResult){
for each y in pakedResult
doSomethingOther(y)
}
其實(shí)我們真正關(guān)心的是循環(huán)內(nèi)部的某個(gè)過(guò)程,但是我們經(jīng)常可以觀察到它們被某些通用的或者特定的循環(huán)(集合遍歷)操作所包圍著。Witrix的設(shè)計(jì)方式是強(qiáng)調(diào)業(yè)務(wù)關(guān)注點(diǎn),而把所有的匯總操作盡量抽象完成。比如現(xiàn)在界面上顯示一些字段。從抽象的操作上說(shuō)
for each field in dsMeta.viewableFields
show field.viewer
show field.viewer
這一過(guò)程在平臺(tái)代碼中實(shí)現(xiàn),它是一個(gè)通用的集合操作過(guò)程。不同的具體應(yīng)用只是關(guān)心具體字段的展現(xiàn)形式,雖然我們必然需要字段集合,但是它不是我們注意力的重心。
如果考慮到字段在界面上展示有一個(gè)布局問(wèn)題,我們所要修改的是集合內(nèi)部的結(jié)構(gòu)方式:
某種結(jié)構(gòu)循環(huán)方式(dsMeta.字段組成的布局集合)
show field.viewer
show field.viewer
抽離出集合,實(shí)際上是在最大限度上分離結(jié)構(gòu)問(wèn)題和內(nèi)容問(wèn)題。
結(jié)構(gòu)是可抽象的,是具有獨(dú)立意義的。這就是Witrix所提出的面向結(jié)構(gòu)的設(shè)計(jì)視角。不是強(qiáng)調(diào)對(duì)象的所謂業(yè)務(wù)含義,不是強(qiáng)調(diào)某種通用語(yǔ)言(例如ruby)的靈活的語(yǔ)法結(jié)構(gòu)。在這之間存在著厚重的具有物理意義的可以進(jìn)行結(jié)構(gòu)分析的技術(shù)層。http://canonical.javaeye.com/blog/60758 http://canonical.javaeye.com/blog/126467