閱讀121 返回首頁    go 阿裏雲 go 技術社區[雲棲]


連載:麵向對象葵花寶典:思想、技巧與實踐(25) - 類模型

麵向對象設計和彈吉他差不多,有很多成熟的理論和技巧,學會彈吉他並不難,你隻需要應用這些理論和技巧即可!


【師傅領進門,修行在個人】

“類模型”是整個麵向對象設計模型的核心,是麵向對象設計階段的主要輸出,也是設計師們最能夠發揮自己才能的地方。

 

雖然“類模型”如此重要,但麵向對象設計技術經過幾十年的發展後,目前已經形成了很成熟的一套體係,因此真正在進行“類模型”設計的時候,其實難度並不高,這也是多虧了眾多前輩們的無私貢獻,才能使得我們這些芸芸眾生也能輕鬆掌握這些原本帶有藝術色彩的技能。

 

不過話又說回來了,入門容易精通難,“類模型”的設計也是如此,雖然有前輩們各種各樣的思想結晶指導著我們,但畢竟如何理解、如何應用這些思想結晶,還是要看個人的領悟力和把握力。就像同樣的《葵花寶典》,嶽不群看了創立了氣宗,蔡子峰看了創立了劍宗,渡元禪師聽了後悟出了辟邪劍法,東方不敗看了竟然練出了繡花針絕技!所以接下來的內容,也隻是“師父領進門,修行在個人”,如果希望做出優秀的設計,更多還是依靠個人的領悟和實踐!

 

【設計的魔法崇拜】

麵向對象類的設計很多時候都蒙上了一層神秘的麵紗。一個常見的場景是:“設計師”拿到需求後,經過一段時間的設計,感覺就像變戲法一樣,然後就拿出了一個類模型。普通的開發人員看到這樣的類模型,很難想象如何從需求才能夠得到了這些類,由於大部分公司的設計人員確實也都是公司裏麵的牛人,因此大家就自然而然地認為這是水平和創造力的表現,心底不由得產生由衷的讚歎:“牛逼啊!”

 

我稱這種現象為設計的“魔法崇拜”,具體表現就是認為設計是一種魔法,做設計的人是魔法師,隻有牛逼的人才能夠做設計。

 

但這種認識並不準確,就像我們前麵提到的,麵向對象領域已經發展了幾十年,各種思想、理論都已經基本成熟,絕大部分人在做設計的時候,都不可能有什麼天才的創新或者天才的靈感,而隻是這些已經成熟的思想和理論的應用而已

 

之所以現在還會出現這種現象,主要原因還是在於各種思想、理論、方法都是針對具體問題的分析或者總結,但並沒有誰明確的將這些東東形成一套完整的麵向對象設計體係。

 

可能很多人都有這種感覺:麵向對象我也懂,設計模式我也知道,設計原則我也明白,但真的要進行設計的時候,就不知道如何下手了,比如說:

對象從哪裏來?

什麼時候用設計模式?

如何判斷設計是否正確?

什麼樣的設計才是優秀的設計?

。。。。。。。。。。。

 

正因為存在這樣的原因,我們自然會對那些能夠設計出完整的類模型的設計師們刮目相看了。

 

其實麵向對象設計並不是什麼高深的技術,也不需要天才的創新,更不需要變魔法,而是有章可循的,隻要我們按照一定的步驟,一步一個腳印,不斷精益求精,就能夠完成麵向對象的設計。

 

但正如前麵提到的一樣,麵向對象設計更多的時候是一門藝術。雖然我們按照一定的步驟能夠完成麵向對象的設計,但在這些步驟實施的過程中,如何應用相關技術,如何做出設計選擇等,更多時候是帶有藝術色彩的。就像很多人都會彈吉他,但真正的吉他大師彈出來的感覺,肯定和一個普通人彈的不一樣。


接下來我們將會分幾個小節講述如何進行麵向對象的類設計:

第一步(照貓畫虎):領域類映射 --- 告訴你類從哪裏來

第二步(精雕細琢):應用設計原則和設計模式   ---告訴你如何設計“好”類

第三步(照本宣科):拆分輔助類   ---告訴你如何和你的開發框架結合起來


================================================ 
轉載請注明出處:https://blog.csdn.net/yunhua_lee/article/details/23456581
================================================ 


最後更新:2017-04-03 12:56:08

  上一篇:go 電話攔截
  下一篇:go Extjs中對ajax中request方法的重寫,對請求的過濾