我所接觸的程式設計師中,大約80%以上的人都在談物件導向(oo),當然大多數人談的都是物件導向程式設計(oop),談ooa、ood的也有,不過好像很少!特別是在物件導向的三要素(封裝、繼承、多型)上更是說得頭頭是道,可是很奇怪:一旦叫他們用物件導向設計一套系統,這些人往往不知道從什麼地方開始了!物件導向,你入門了嗎?
以下以我個人的觀點來論述一下,入門的標準:
1、如果你感覺用不用oo都一樣(因為你寫的類可有可無,甚至是多餘的),你還沒有入門!
2、如果你發現這些類可以工作,但是有些彆扭,那麼這個設計肯定不是良好的設計(沒有最好,只有更好),要麼是強耦合,要麼是這些類可以更抽象!不過你離入門的門檻不遠了,加油吧!
3、如果你發現整個系統中有很多類做的工作很複雜,比如說表現層(ui)包含了業務邏輯,那麼系統整體的設計有問題,建議你看一下mvc模式。同時你可能已經入門了!
4、如果有一天你發現你寫的程式非常優美,不會為一點小的改動而瞎忙(比如:客戶說這個模組的查詢要多加乙個條件)、乙個類的修改不會影響到很多類、而且無意中還用了很多設計模式。那麼,大哥,麻煩你把你的qq號留下來,我要向你學習:)
今天,你物件導向了嗎?
關於武術絕招 我的武術老師告訴我他的絕招就是直拳,而且從第一天開始他就告訴我每天不低於五千次的訓練,當我把這個直拳練到非常快速的時候,這就是絕招了。開始我根本 不相信老師交給的絕招。後來在南韓練跆拳道,與世界第一號種子選手對話,才恍然大悟老師的話 他們把簡單的動作練的不可替代,而往往簡單的動作就是最...
今天你物件導向了嗎?(C 初識)
命名空間 1 如同區域性作用域和全域性作用域一樣,都是乙個作用域,解決命名衝突的問題。2 命名空間可以巢狀定義也可以分塊定義,編譯器會將相同的命名空間進行合併。這裡介紹一下作用域限定符 如果是全域性的話就不用加 命名空間 中成員的訪問方式 1 命名空間 作用域限定符 成員名字 2 using 命名空...
JS物件導向 你真的理解閉包了嗎?
js中的閉包,可能在實際開發中我們用的很少,但是面試的時候是必問的。所以今兒個總結一下什麼是閉包。首先,我們定義乙個變數。會分為兩種情況,1是定義在全域性中,我們關閉程式的時候變數會從記憶體中釋放。2是定義在區域性中,在函式中定義乙個變數,當我函式呼叫結束後,會從記憶體中釋放。閉包的存在,就是為了當...