posts - 23,comments - 66,trackbacks - 0
          QWAN(無名的質)、Gate(門)、Way(道)
          利用道從門演化成質,就是采用一定的模式利用一種語言達到軟件的完美。

          無名天地之始,有名萬物之母。
          名是死的混沌。

          道生一,一生二,二生三,三生萬物。萬物負陰而抱陽,沖氣以為和。
          氣聚而有其形,氣散而歸于無形。

          《老子》:善為士者不武。--好的設計師不會在他設計的系統中再做大規模的修改。
          《老子》:天下有道,卻走馬以糞;天下無道,戎馬生于效。

          開閉原則:對擴展開放,對修改關閉。--抽象化是關鍵,對可變性進行封裝。
          《太玄》:知固而不知革,物失其則;知革而不知固,物失其均。
          所有類圖的繼承結構都不會超過兩層,否則就會失去對于可變性的封裝原則,就會在一個封裝內含有多個可變元素。

          里式代換原則:任何基類可以出現的地方,子類一定可以出現。
          依賴倒轉原則:要依賴與抽象,不要依賴與實現。
          合成/聚合復用原則:要盡量使用合成和聚合,少使用繼承。
          迪米特法則:一個軟件實體應該盡可能少的與其他實體發生相互作用。
          接口隔離原則:應當為client提供盡可能小的單獨的接口,而不是提供大的總的接口。

          可插拔性的關鍵在于存在一個接口,以及每個構件都實現了這個接口。

          應當優先使用接口實現抽象類型。

          抽象類是用來繼承的,具體類不是用來繼承的。
          抽象類應該具有盡可能多的共同代碼,應當具有盡可能少的數據。

          類之間的繼承是很容易被濫用的復用工具。
          防止繼承濫用的原則:
          1. 區分has-a和is-a的區別
          2. 子類有擴展超類的責任,而不是替換掉
          3. 不要從工具類繼承
          posted on 2006-06-09 02:34 rd2pm 閱讀(660) 評論(0)  編輯  收藏 所屬分類: java languagesystem design

          主站蜘蛛池模板: 克山县| 九台市| 文安县| 南阳市| 常山县| 湛江市| 子长县| 修水县| 堆龙德庆县| 泾川县| 岗巴县| 佛冈县| 仙桃市| 如东县| 康乐县| 德保县| 石狮市| 扎兰屯市| 清水河县| 甘孜| 商丘市| 布拖县| 泊头市| 连州市| 锡林郭勒盟| 蓬溪县| 正宁县| 顺平县| 长丰县| 隆昌县| 宜兰市| 津南区| 青田县| 漳浦县| 昌邑市| 文登市| 民权县| 浮梁县| 赤峰市| 广宗县| 马龙县|