面向?qū)ο?br />
面向?qū)ο缶幊獭⒚嫦驅(qū)ο笤O(shè)計,在我剛學的時候,感覺這就是最高境界。
以前被別人面試,以及自己面試別人,那是必問的問題。
寫了這么多年小程序,寫了一大堆類,也沒感覺面向?qū)ο笥惺裁春茫袝r還挺煩。
現(xiàn)在越來越不關(guān)心這個了,一個系統(tǒng)要開發(fā),先要大家按功能劃分模塊,模塊化搞清楚,模塊間的主要接口搞清楚,模塊內(nèi)怎么適合就怎么搞。
符合清晰原則就行,能清晰表達業(yè)務(wù)邏輯。
符合簡潔原則就好,復(fù)雜度能低則低。
前幾天往一年前別人開發(fā)的Java代碼里添加新功能,經(jīng)典的MVC框架struts下,邏輯層被搞成3層,一個不大的功能模塊,一堆類一堆方法互相交錯,我感覺到了這個年青的同事果然功力深厚,我要加點功能很吃力了,看來我廉頗老也。
當然,很多時候不是面向?qū)ο蟮膯栴}。
但是,不要會寫類了,知道繼承、多態(tài)等了,就以為沒問題了。
一堆類下去,功能總能實現(xiàn),常見的現(xiàn)象。
善為士者,不武。--<<道德經(jīng)>>