My friends, my life, my style - James S.F. Hsieh

8/24/2009

[OOAD] 一個複雜系統中的五種屬性 Part1

以下是由書本 Object-Oriented Analysis and Design with Application 摘錄出來的幾個標題
Hierarchic Structure - System, Subsystem SubSubSystem, SubSubSubSystem
每套系統通常都有自己的 Hierarchy, Hierarchy 可以有多種層次與面向, 它的設計或是自然的產生通常包含了某種原因, 主要的目的我認為有數個:
  1. 容易讓人理解: 因為每一種層次會有自己特定的責任, 被設計成只處理特定性的問題, 所以我們可以用一些邏輯性的的假設與抽象性的推論在根據系統的結構快速的了解整個架構的運作方式
  2. 降低相依性: 相同層次可以分成多個子系統, 之所以可以分離就是因為它們通常毫無關係所以可以被分離, 而不同層次的子系統間也因為責任的分層化而隱藏了細節與降低了相依性, 將低相依性自然衍生的就是彈性與可抽換性
  3. 複用性: 越單純的東西越具有複用性, 越複雜功能越強的東西複用性愈低, 一個系統的功能是由多個單純的子系統互動產生的結果, 該系統也可以成為別人的子系統. 一系統包含完成這個功能性的主要邏輯與流程, 而子系統只是參與互動的角色, 對於該邏輯與流程的耦合度較低或完全無耦合度, 所以子系統可以保持較高的複用性.