我的隱式生活(My Implicit Life)

          繼續搞“對象”,玩OO.

          首頁 新隨筆 聯系 聚合 管理
            11 Posts :: 1 Stories :: 39 Comments :: 0 Trackbacks

          這幾天瞄了幾本設計模式的書,沒有細看具體模式啦,而是老是琢磨那些深奧無比的話。這些話經常出現在計算機的書籍中,很有禪意,也有哲理。聽說,高手就喜歡寫點這樣的話。

          還有就是細心體味了一下OO的設計原則,這些原則是凌駕于模式之上的,也就是更宏觀的原則。

          其中,最高指導的一個就是“開-閉”原則。別的原則,里氏代換原則、依賴倒置原則、組合/聚合復用原則和迪米特法則都是為了達到“開-閉”原則而出現的規則。

          這些原則告訴我很多東西,聚焦于一點就是要“面向抽象”來做一切事情。

          分析對象的時候,要多分析設計“抽象”的概念,對象之間的聯系要多基于抽象的概念而不是具體,這樣具體才能能夠變化,這樣才是開閉。用我自己的話就是要“游走于 抽象”。

          這里有一個我必須記住的就是,在封裝變化時候,多用聚合/組合,少用繼承。在封裝原子變化并且是同類型對象時才用繼承,別的都盡量用聚合/組合。而且盡量不要用多級繼承,多級繼承一般意味著有兩種變化脈絡,可能的話,讓兩種變化脈絡獨立演化。很明顯,一獨立演化,又要聚合/組合了。

          還有一個必須記住的是:運用抽象以后,客戶端的使用發生了巨大的變化。不再是指那兒用那兒。而是要做更多的準備工作,因為運用抽象,本身就把具體“組合”的職責推遲到使用的階段。那誰使用,肯定是客戶端。所以,客戶端的使用要革新。要習慣用工廠,習慣把一系列的抽象定具體了,并按照一定方式“組合”起來用。而且,最終要善于用接口來調用方法。

          用小飛推薦的一個工具畫了個圖,如下:
          o_好的OO思想.jpg

                                 MARCO ZHANG 2006年2月27日7:18:57

          posted on 2006-02-27 07:40 marco 閱讀(870) 評論(4)  編輯  收藏 所屬分類: -=Design Pattern=-

          Feedback

          # re: OO設計原則體會 2006-03-24 22:17 marmot
          老大,圖是用什么工具畫的,很漂亮的  回復  更多評論
            

          # re: OO設計原則體會 2006-03-25 17:02 marco
          一種叫mindManager的工具。

          這種圖叫mind map,可以稱為思維圖。

          用來構思總結東西很棒,很棒。

          現在用這個東西用上癮了。

          推薦你使用,網上一搜都有。  回復  更多評論
            

          # re: OO設計原則體會 2006-03-26 03:45 marmot
          下載了,真的很棒  回復  更多評論
            

          # re: OO設計原則體會 2006-10-18 15:19 123bingbing
          增開7群,號碼 30440732
          8群 30756649
          9群 30178567
          10群 28694497

          我們的qq群:15096318 學習程序的都可以來
            回復  更多評論
            

          主站蜘蛛池模板: 乌兰县| 万荣县| 六盘水市| 遂溪县| 延津县| 榕江县| 裕民县| 张家口市| 长兴县| 杨浦区| 高青县| 微山县| 德安县| 静乐县| 车险| 富顺县| 凤台县| 南涧| 平度市| 遵化市| 定安县| 门头沟区| 柳州市| 甘谷县| 盘锦市| 漳平市| 嘉义市| 新干县| 湖南省| 清河县| 枞阳县| 宁阳县| 赣州市| 岑溪市| 张家界市| 保山市| 清远市| 永泰县| 沂南县| 育儿| 白水县|