翻譯:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 設計和開發站點 - 1


原文地址:http://ddmvc4.codeplex.com/

原文名稱:Design and Develop a website using ASP.NET MVC 4, EF, Knockoutjs and Bootstrap

另一種 MVC 應用程序: 簡介

站點總是快速成長,一旦開始成長,站點就變得很難開發,組織和維護。所以在我們增加功能或者開發項目的時候,缺乏設計的大型網站會變得失去控制。這里要說的是站點的架構設計必須簡單,容易被任何設計者理解 ( 從初級開發者到中級開發者 ),以及搜索引擎。在這篇文章中,我會試着設計一個站點,支持在線維護聯系人信息。未來,這個應用可能被用在全球的大型社區站點中,帶有增加的功能和模塊。所以,站點的設計必須能夠輕松地適配未來成長的業務邏輯。

在文章的第一部分,我會使用這種想法來討論創建和設計用戶界面 UI, UI 將會與業務邏輯進行分離,可以被創建但是不依賴任何設計者/開發者。在這一部分,我們將會使用 ASP.NET MVC, knockout JqueryBootstrap。 在文章的后面,我們將會討論數據庫的設計,以及使用分層的結構來實現業務邏輯,使用的技術包括  SQl Server 2008, Entity Framework, 和 Castle Windsor 以支持依賴注入。

分離關注點: 主要目標

關鍵是要分離出大部分或者所有的業務邏輯。邏輯不應該與頁面綁定在一起。要是在另外一個頁面重新使用邏輯怎么辦呢?這樣,我們將可以復制和粘貼。如果我們做到的話,項目將會變得可維護了。另外一個要點是從業務邏輯分離數據訪問,由於我們計划使用 Entiy Framework,這就不是一個問題,因為 EF 已經這樣做了。我們可以容易地將我們的 EF 文件從一個項目轉移到另外一個項目,簡單地添加一些必須的引用就可以,下面是設計圖。
1.png

最終的解決方案在 Visual Studio 中如下所示:

2.png

解決方案中有 7 個項目,有必要嗎?

看你怎么想...... 這個設計會帶來許多優點,包括:

  • 關注點的分離:清晰地分層,意味着應用可以分隔為獨立的領域,沒有重疊的功能。比如 UI 的設計人員可以專注工作,而不需要被業務邏輯影響 ( Application.Web )。代碼的開發人員只需要處理主要的業務邏輯 ( Application.DTO 或者 Application.Manager ).
  • 生產力:對現有的軟件可以容易地增加功能,因為軟件的結構已經到位,新的功能代碼可以按部就班,任何復雜的問題可以輕松識別和分離,並實現軟件工程要求的質量要素:魯棒性,可適配,可維護,以及可重用。
  • 可維護:容易維護的應用,清晰定義的結構便於理解,很容易發現 Bug 和異常問題,修改的風險也降至最低。
  • 適應性:新的技術,例如不同的前端技術,或者增加業務邏輯的引擎也很容易做到,你的應用架構有着清晰的關注點分離。
  • 重用性:對於任何應用的設計來說,可重用性都是一個重要的關注點,因為可以降低總體擁有成本 TCO,我們的設計考慮了重用 Web 應用和不同的層,在文章的后面,我們將會詳細討論每個層中的功能。

工具和技術

為了達到最終的目標,我們需要下面的工具:

  • Visual Studio 2012
  • ASP.NET MVC 4 with Razor View Engine
  • Entity Framework 5.0
  • Castle Windsor for DI
  • SQL Server 2008/2012
  • Knockout.js & JQuery
  • Castle Windsor for DI
  • Bootstrap CSS

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM