1. 目標
我們希望乙個好的架構能夠:
1.1. 重用:為了避免重複勞動,為了降低成本,我們希望能夠重用之前的**、之前的設計。重用是我們不斷追求的目標之一,
但事實上,做到這一點可沒有那麼容易。在現實中,人們已經在架構重用上做了很多的工作,工作的成果稱為框架
(framework),比如說windows的視窗機制、j2ee平台等。但是在企業商業建模方面,有效的框架還非常的少。
1.2. 透明:有些時候,我們為了提高效率,把實現的細節隱藏起來,僅把客戶需求的介面呈現給客戶。這樣,具體的實現對客戶
來說就是透明的。乙個具體的例子是我們使用jsp的tag技術來代替jsp的嵌入**,因為我們的html介面人員更熟悉tag
的方式。
1.3. 延展:我們對延展的渴求源於需求的易變。因此我們需要架構具有一定的延展性,以適應未來可能的變化。可是,如上所說,
延展性和穩定性,延展性和簡單性都是矛盾的。因此我們需要權衡我們的投入/產出比。以設計出具有適當和延展性的架構。
1.4. 簡明:乙個複雜的架構不論是測試還是維護都是困難的。我們希望架構能夠在滿足目的的情況下盡可能的簡單明瞭。但是簡
單明了的含義究竟是什麼好像並沒有乙個明確的定義。使用模式能夠使設計變得簡單,但這是建立在我熟悉設計模式的基礎
上。對於乙個並不懂設計模式的人,他會認為這個架構很複雜。對於這種情況,我只能對他說,去看看設計模式。
1.5. 高效:不論是什麼系統,我們都希望架構是高效的。這一點對於一些特定的系統來說尤其重要。例如實時系統、高訪問量的
**。這些值的是技術上的高效,有時候我們指的高效是效益上的高效。例如,乙個只有幾十到一百訪問量的資訊系統,是
不是有必要使用ejb技術,這就需要我們綜合的評估效益了。
什麼是好的產品?
好的產品談起來維度比較多,從使用者角度和企業角度來說是2個大方向。對使用者來說什麼是好的產品?1 產品確實解決了使用者的某些需求。2 產品可用 好用 易用 設計符合使用者習慣,容錯率高,ui精美。3 能讓使用者看到更好的自己。4 激發使用者的情感共鳴。對企業來說什麼又是好的產品?1 產品的競爭壁壘高...
什麼是好的軟體
1 什麼是好的軟體 從使用者角度 軟體符合指定需求 軟體幾乎沒有缺陷 軟體效能正常 軟體容易上手 操作方便 從開發人員角度 可測試性 可維護性 可讀性 效率 高效管理資源 安全 可預防常見威脅 從老闆角度 軟體按時交付 軟體滿足預算 可復用的開發過程,確保交付質量 2 高質量的軟體產品 做了使用者想...
什麼是好的演算法?
衡量兩個演算法誰好誰壞,我們有兩個指標。空間複雜度 s n 就是 space。時間複雜度 t n 也就是 time 的縮寫。為什麼要把它們寫成是乙個關於 n 的函式呢?因為這兩個指標其實和我們要處理的資料的規模,是直接相關的。舉個例子說 我如果要你列印十個整數,你的程式可能瞬間就給出結果了。如果我讓...