2014年10月1日 星期三

[鐵人30天]當ASP.NET MVC 遇見 Angular.js MVC 客戶管理系統(3) - 系統架構設計

* 本篇目標

系統架構規劃,並新增相關專案、技術規格

* 為何要分層架構規劃

分層的重要性,也是寫程式幾年後才真的領悟,ASP時代那種義大利麵式的寫法(html、Script、後端程式、SQL程式全混再一起),接著WebForm CodeBind將前後端拆後,再到現在慣用的MVC,深深覺得"關注點分離"這的確是一件很重要的事,目前開發習慣,即使專案在小,也會整理出自己的三層架構起手式,如果是更大型專案,就會再更細分。本次範例專案會已以下架構圖來建立(使用ptt繪製,圖醜勿怪…..):

架構

各分層介紹:

DAL(Data Access Layer) : 有關SQL語法、EntityFream資料庫溝通,都會在此層。

BLL(Business Login Layer):資料流從DB或從User輸入後,一定會有一些邏輯判斷,該商業邏輯流程都會寫在此層

UI(User Interface):有關Web專案、Web API(Web Service)、Apps 都會在此層

Domain Entity : 裡面會有定義ViewModel Class,用來貫穿三個分層

Resources:用來放一些資源檔 … e.g 多國語系檔

Utility : 用來放置一些共用函示庫 … 如加解密

整個專案建立完如下圖:

1

* 開發技術

回顧上一篇的需求後,通常我會產生實際要做的Backlog,這邊就不一一列出來,將放置每篇的文章。

以前大老闆有說,她面試人最喜歡看出應試者能拉出多少技能,多深多廣,我們就來拉一下吧:

  1. Visual Studio 2013 with Update 3
  2. ASP.NET MVC 5
  3. Web API 2.2
  4. SQL Server 2012 ,安裝 Northwind (微軟提供的範例資料庫)
  5. Entity Freamwork 6.1.1
  6. SignalR
  7. Angulary.js
  8. Bootstrap
  9. Report
  10. IIS
  11. Azure

接下來文章會一一提到以上技術並逐步來打造網站 !

 

** 如內容有誤請告知,將進行修改,謝謝 **

* 延伸閱讀

http://www.dotblogs.com.tw/asdtey/archive/2012/05/12/web-development-1.aspx

http://kevintsengtw.blogspot.tw/search/label/%E5%88%86%E5%B1%A4%E6%9E%B6%E6%A7%8B#.VCB28PmSxQc

2 則留言:

  1. 請問一下:
    DAL(Data Access Layer)
    BLL(Business Login Layer)
    UI(User Interface)
    Domain Entity
    Resources
    Utility

    您是用什麼類型的專案建立的?
    謝謝。

    回覆刪除
    回覆
    1. 您好,除了UI部分,可能是ASP.NET MVC or Windows App or Hybird App專案
      其他都是函示庫喔

      刪除