我的隱式生活(My Implicit Life)

          繼續(xù)搞“對象”,玩OO.

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

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

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

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

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

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

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

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

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

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

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

          Feedback

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

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

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

          用來構(gòu)思總結(jié)東西很棒,很棒。

          現(xiàn)在用這個東西用上癮了。

          推薦你使用,網(wǎng)上一搜都有。  回復  更多評論
            

          # 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 學習程序的都可以來
            回復  更多評論
            

          主站蜘蛛池模板: 津市市| 新干县| 大竹县| 安丘市| 通海县| 嘉定区| 安图县| 柳江县| 宁强县| 平潭县| 萍乡市| 汕尾市| 中西区| 顺昌县| 罗平县| 革吉县| 雅江县| 阳西县| 曲阜市| 内黄县| 汤原县| 南涧| 蕲春县| 嘉定区| 盐边县| 天峨县| 隆尧县| 毕节市| 庄河市| 饶平县| 宁武县| 泰安市| 龙陵县| 阿瓦提县| 万源市| 乌苏市| 中阳县| 湘潭县| 始兴县| 西林县| 新田县|