Posted on 2005-12-27 22:21
canonical 閱讀(1009)
評論(3) 編輯 收藏 所屬分類:
設計理論
級列設計理論中我們談到一般和特殊的關系, 但這是否指的是“相對抽象” 以及 “相對具體”之間的關系,
而“一般”到“特殊”和“特殊”到“一般”這兩個方向是否指的是具化過程和抽象泛化過程?
我猜測有這種想法的人大概是受到軟件設計中所謂抽象封裝思想的影響. 很顯然, 我并不是這樣認為的. 一般性(普遍性)與抽象性是不同的概念.
在物理學中相對論是比Newton力學更加一般性的理論,但它和Newton力學一樣都是關于我們這個世界的真實的理論,都是非常具體的。雖然我們有的時
候會說相對論更加抽象一些,這不過是暗示這個理論所描述的情形與我們的日常經驗距離遙遠而已,并不意味著它是某種只存在于概念空間的東西。實際上我很少談
到抽象與泛化過程,這對于物理學而言并不是一個合適的命題.
有些人認為"service層, data object層,
dao層只是對程序職責的描述并不是實現,在實現中應該根據實際情況進行合并與取舍"。在我看來,
持有這種看法的人已經把自己的思想限定在了某一個復雜性層次上, 認為這些職責是天然的,必然的存在于程序中的. 但實際上,
我們肯定可以想見更加復雜的情形, 僅僅三層并不足以充分表達程序的結構, 而另一方面, 在極端簡單的情形下,
例如只有一個數據庫,只有CRUD操作, 此時根本就不存在這種職責.
一種所謂的職責從來就不曾存在過,我們自然也不應先把東西搞復雜起來,再合并取舍回去。
Feedback
# re: 一般性不等于抽象性 回復 更多評論
2005-12-28 13:33 by
你的碩士論文是不是和這個相關?理論性很強。
# re: 一般性不等于抽象性 回復 更多評論
2005-12-28 16:58 by
不要用某些人啦。。。 那個只是我個人觀點啦。。。。
......對于你的一般性 基本知道是根抽象性有區別了 。。。。。。不過說老實話 相對論沒zm學 所以還是不太理解你舉的例子 能不能舉個 通俗點的例子。。。
關于
service層, data object層, dao層
其實 只是分析到某個抽象層次。。。職責 分類。。。而且有個問題環境 就是“ 交互型應用來說的”
你說:“. 但實際上, 我們肯定可以想見更加復雜的情形, 僅僅三層并不足以充分表達程序的結構”
確實是這樣,然而問題是就像你批評說的“有哪么復雜么”。既然,大家都知道,過于復雜就無用的。哪只分析到一個一般人能夠接受的復雜程度就停止。難道有錯?
其實我只是想說明 問題出在人們在實現中濫用這些東西 。分析出這些東西的本身無可厚非。
還有:關于你舉的例子 你說的只有 crud。。。 這里假設你所指crud是 這些方法或函數以及參數就是 服務接口的職責 其實更service 處于同一職責。。。 crud內部比然有對狀態的處理以保證這些crud的功能就是預想的那樣。。。 其實些東西的更 domain object 層次職責一樣。 (說老實話 data object我沒有看到過)
dao層 與 crud 中直接跟你的“數據庫” 交互的部分 其職責也使相近的。
如果要按照你的級列理論來說: 這里的職責也更你舉的例子是不同緯度的級列層次。
# re: 一般性不等于抽象性 回復 更多評論
2005-12-28 17:02 by
還有 抽象 本身不只是軟件工程的東西,而是哲學的東西,軟件工程只是借用。
比較期待 你的來自自然科學 級列論