首頁>Club>
7
回覆列表
  • 1 #

    當然我現在所說的內容都是建立在面向物件基礎之上的,也就是用面向物件的語言Java或C#設計出來的的軟體系統。那麼軟體系統設計的核心問題是什麼呢?那就是如何讓系統易於維護並且複用性較好,讓軟體系統具有可維護性和可複用性,是我們的系統要達到的目標。


    要完成上述的目標,並不是一件特別容易的事情。一個完成了上述目標的軟體系統必然具備可擴充套件性、靈活性、可插入性這三個特質。如何才能具備這三個特質呢?當然是提高軟體的可維護性和複用性了,哈哈,又繞回來了。那麼如何完成軟體系統的設計目標呢?那就是以設計原則和設計模式為基礎來設計我們的系統。


    在《Java與模式》這本書中提出了一個“支援可維護性的複用”的概念,他的定義是:“在保持甚至提高系統的可維護性的同時,實現系統的複用”。(好像是廢話啊!)“支援可維護性的複用”的基礎就是我們上面提到的設計原則和設計模式。


    設計原則有哪些?設計原則與設計模式有什麼關係?


    在面向物件的設計中,有六個設計原則(這些原則也都是複用原則,當然也並非全部的設計原則。):


    1、 開閉原則。


    2、 里氏代換原則。


    3、 依賴倒轉原則。


    4、 介面隔離原則。


    5、 組合/聚合複用原則。


    6、 迪米特法則。


    如何才能做到在設計中遵循這些原則,當然是會有一些方法和方式,那麼這些方法和方式就是以設計模式的面目出現的。所以設計模式你可以簡單把他看成是:為遵循設計原則而制定的一些指導性的方法,說的文言一些就是遵循設計原則的解決方案。設計模式可以劃分為三大類別:


    1、 建立模式。


    2、 結構模式。


    3、 行為模式。


    前面我們提到,一個達到了可維護性和可複用性目標的軟體系統必然具備可擴充套件性、靈活性、可插入性這三個特質。如何才能保證我們的軟體系統具備這三個特質呢(這次不繞了)?


    1、 可擴充套件性可以用開閉原則、里氏代換原則、依賴倒轉原則、和組合/聚合複用原則來保證。換句話說你只要遵循一些設計原則你的系統就能保證達到可擴充套件性。


    2、 靈活性可以由開閉原則、迪米特法則、介面隔離原則來保證。


    3、 可插入性可以用開閉原則、里氏代換原則、組合/聚合複用原則和依賴倒轉原則來保證。


    具備了上述三個特質的軟體系統,我們軟體設計的可維護性和可複用性目標也就達到了。


    我們可以想象,一個軟體系統首先是從遵循設計原則

  • 2 # 騰飛1134

    設計原則是系統設計的核心。

    設計原則表述的是架構師對整個系統的核心設計思想,並且要求把這個設計思想貫穿到所有子系統的概要/詳細設計中,所以在這些子系統的概要/詳細設計中要充分體現出對設計原則的考慮。

    對於系統而言,什麼才是設計思想呢,每個架構師在做系統的設計之前一般是會有思考的,思考的內容基本就會是要實現需求核心的幾個點是什麼,這些核心的點就是設計思想。

  • 中秋節和大豐收的關聯?
  • 近代中國的兩大歷史人物及其關係?