熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

基於ASP.NET MVC框架開發Web論壇應用程序[2]

2013-11-13 10:46:50  來源: .NET編程 

  不過真實的情況是上述所有這些針對軟件設計原則展開討論的資源都源自Robert Martin的工作Robert Martin並不是所有原則的發明者但是他的確是第一個把這些原則收集到一起的人下面列出這些軟件設計原則

  SRP—單一責任原則
  OCP—開關原則
  LSP—Liskov替換原則
  ISP—接口隔離原則
  DIP—依賴倒置原則

  上述這個原則的集合正好對應於縮略詞SOLID

  下面的軟件設計原則列表來自於《Head First Design Patterns》一書

  封裝變化
  多用組合少用繼承
  基於接口而不是基於實現編程
  在交互的對象間努力實現松耦合
  類應該為了擴展而開放但是為了修改而關閉
  依賴於抽象而不要依賴於具體類
  僅僅對你的朋友交談
  不調用我我們會調用你
  一個類應該僅有一個改變的理由

  當然上述原則之間也存在許多的重疊之處例如單一責任原則與後面的一個類應該僅有一個改變的理由這一原則是相一致的然而它們所強調的重點還是有所不同更多的細節在此不便贅述

  所有這些設計原則的真正動機在於努力構建出能夠適應變化的軟件上述原則分別對於不同的原則進行相應的闡述最終目的也不過是為了創建出可以經得起時間測試的軟件

   軟件設計模式

  軟件設計模式描述的是應用軟件設計原則所遵循的策略的問題換句話說一個軟件設計原則是一個好的思想而一個軟件設計模式是你用於實現這種好的思想的工具

  軟件設計模式的思想最初源於書籍《Design Patterns: Elements of Reusable ObjectOriented Software》正是這本書為其它許多描述軟件設計模式書的創作帶去靈感

  例如另一本書《The Head First Design Pattern》就以一種更易於理解的方式向人們介紹了GOF所著的書(即上面的那本《Design Patterns: Elements of Reusable ObjectOriented Software》)中所引入的設計模式這本書中總共詳細介紹了下列種軟件設計模式

  Strategy
  Observer
  Decorator
  Factory
  Singleton
  Command
  Adaptor
  Façade
  Template
  Iterator
  Composite
  State
  Proxy
  Compound

  另一本在軟件設計模式方面較有影響的書是Martin Fowler的《Patterns of Enterprise Application Architecture》這本書還擁有一個公司網站其中列舉了本書中所介紹的模式此網站的網址是http://wwwmartinfowlercom/eaaCatalog/

[]  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/14491.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.