組合思維與繼承思維的不同
2015-03-15 16:05 "@jdon007"的內容
兩種比較常用的思考方法(或解決方法),用哪一種,還是取決於問題域 ...
講得很好。
我這幾天思考發現組合和繼承實際可能代表兩種完全不同的思維方式。這兩種思維體現在Unix和Windows的不同上。
Unix是典型的組合思維,包括Go語言,我們使用Unix命令列,比如“ps -ax | grep java”,這種管道式過濾能力非常強大和靈活,缺點是初學者不容易掌握,不形象。
而Windows是典型的繼承思維,大視窗裡有小視窗,不斷開啟小視窗,就進行樹結構的深入層次,這種方式非常形象,適合初學者,但是問題也是顯然,不夠靈活強大,以至於我們經常藉助於DOS的bat來完成各種特定的要求,以至於需要程式設計,使用程式語言組合成我們希望得到的功能。
Windows這種視窗方式非常物件化,也是微軟長期對作業系統這個業務掌握後的抽象,它是一種形象化的樹形結構,帶領初學者進入深處。
Unix的命令組合是一種動態的樹形結構,類似函式程式設計,透過透過函式碎塊組合成使用者想達到的強大功能。
很多人思維如果侷限在Windows這種繼承思維中,會覺得Unix好像不人性化,對程式設計師不夠尊重,這其實是身在廬山中不識廬山真面貌。
什麼是人性化?讓程式設計師想做他想做的任何事,給予程式設計師最大的自由如同Unix風格才是對程式設計師最大尊重,將自由選擇權交給了程式設計師自己,而Windows是對初學者最大尊重,限制一定自由,但是能夠循循善誘。所以,是否對程式設計師尊重是分層次的,不同層次程式設計師的需求不同,就像人的層次不同,需求不同一樣,沒有吃飽飯認為吃飽飯是最大幸福,而吃飽飯的認為精神自由才是人生最高境界。
總結,兩種比較常用的思考方法(或解決方法),用哪一種,還是取決於問題域 ,我們千萬不能厚此薄彼。對於複雜問題域,使用組合無疑強大,對於熟悉的簡單的問題域,使用繼承比較形象,一目瞭然。
對於人來說:組合思維總是暗示自己“我們總是目光短淺,組合的風險比繼承少”, 依靠範疇論的科學工具步步為營前行,而繼承思維需要牛人,“如果有人能夠綜觀某個事物(行業)幾十年的發展,也就是常說的吃透了業務,在這種假定之下來用繼承來設計業務,那一定會成為經典”,一旦成為經典,牛人會認為自己是天才。這就是經驗與科學的區別。
[該貼被banq於2015-03-17 16:54修改過]
相關文章
- 思維體系---技術思維、業務資料思維、產品思維、複合思維
- 組合計數思維題
- 淺析工具思維、產品思維、品牌思維與定位
- 求職思維和招聘思維求職
- 計算機程式的思維邏輯 (16) - 繼承的細節計算機繼承
- 繼承與組合繼承
- 英語思維與物件導向分析思維的關係物件
- 計算機程式的思維邏輯 (14) – 類的組合計算機
- 繼續吭哧吭哧寫程式碼~組長的思維比我好很多~
- 計算機程式的思維邏輯 (15) – 初識繼承和多型計算機繼承多型
- 計算機程式的思維邏輯 (15) - 初識繼承和多型計算機繼承多型
- 黑客思維黑客
- 思維模式模式
- 框架思維框架
- Java中的繼承與組合Java繼承
- 效率思維模式與Zombie Scrum模式Scrum
- 計算機程式的思維邏輯 (17) - 繼承實現的基本原理計算機繼承
- 類的組合與繼承——作業繼承
- 模型思維(01)模型
- 計算思維
- 《計算思維史話》思維導圖——持續更新
- 創新思維框架:第一原則思維 - Neil Kakkar框架
- 你是整體思維還是分析思維? - kentbeck
- 提升思維邏輯—SimpleMind Pro(思維導圖) for Mac/winMac
- 什麼是產品思維和專案思維? - Shreyas
- prefer 組合 to 繼承繼承
- 大模型原理與思維鏈推理大模型
- 亂彈馬斯克與比爾蓋茲兩位首富的不同思維模式馬斯克模式
- 思維之道 --讀《質量.軟體.管理 系統思維》(2)
- 思維之道 --讀《質量.軟體.管理 系統思維》(1)
- 思維之道 --讀《質量.軟體.管理 系統思維》(3)
- 思維決定命運,從四個方面理解深度思維的概念
- YTU-OJ-繼承與組合繼承
- 前端思維導圖前端
- Java思維理清思路Java
- 結構化思維
- 原型設計思維原型
- 新思路,新思維