※ 引述《seagal.bbs@ptt.cc (待救的小米)》之銘言:
> "因此OO無用"
> 別的網友也講到了
> 你並沒有想要嘗試了解抽象化等等抽象概念
我從來沒有反對抽象化的概念
將某些龐雜的事物化簡為抽象化的概念,的確是有它的好處與需求
問題是將事物抽象化的方式、模型有多種,
那一種才能最符合實際的狀況?或者是人類日常生活的習慣?
就如我以往所強調的:
對稱性很種要
你可以去觀察你的四周,人類社會組織的運作方式
包含你去考駕照、去餐聽吃飯、交女朋友等
不管這些事情有沒有訴之於條文,你可以發現一件事就是
它們都是 "循序化" 的一個過程
我不知道你拿一個與事實狀況不對稱的OO抽象模型來套用它會有什麼好處!
在我看來根本就是自找麻煩
如果對稱性夠,也不會有這麼多人摸了兩三年還不知道OO在作什麼
如果這個抽象模型,是與人類日常生活習慣是相近的,
為什麼會有這麼多人老是抓不到它的邏輯,反而是程式越寫越亂
當然我也不完全否認所謂的 "OO" 抽象模型也有它適用的地方
GUI可能是其中之一,但也僅限於此,超過這個範圍就完蛋了
對於OO的愛用者,我的建議是
當處理與GUI有關的議題時才可用,當處理與GUI無關的議題時不用
OO就像是老虎,將關在GUI的議題籠子裡才是安全的作法
放出GUI籠子以外,老虎就要吃人了,有傷害
循序化的系統就要用循序化程式語言,循序化的抽象模型來詮釋它
才是方便符合邏輯的方法
有關 "循序化抽象模型",
你的腦袋可能還不知道有這種東西的存在吧!
所以才會以為循序化的程式語言都沒有抽象化模型
只有你們偉大的OO才有的這種看法
只要是循序化程式語言就很好用了,C就是我最常用的循序化程式語言
不像是有些人講的,非要扯到組合語言不可
在我的看法,組合語言之於C語言,它的強項在於
它可讓程式設計者
清楚的掌握程式碼或資料在記憶體中確切的Layout位置,尺寸大小
C 語言則不行,因為這些工作要透過Compiler來作
不過這並不會影響到循序化抽象模型的建立,反而是更方便
你可能不知道循序化程式,也有它的抽象模型
而且普遍用在大型系統的系統分析中,不是只有OO才有抽象模型
OO的抽象模型中,Class是物件
循序化的抽象模型也有物件,通常是指Struct
而且基於循序化的抽象模型,分析循序化系統就等於在分析程式一樣
實際系統與程式系統是One on One的對稱
所以如果有一家公司的行政作業流程如果要電子化,
系統分析完成的那一瞬間,也就幾乎等於程式架構完成了
只差訴諸於文字的程式映射
所以程式設計就變成一件很簡單的事
而且寫出來的程式在應用上,也完全符合使用者過去的習慣
--
Ξ Origin: 中興大學天樞資訊網 <bbs.nchu.edu.tw>
Ξ From : 218-169-63-22.dynamic.hinet.net