如何攻破大型副本 大型專案的開發與團隊合作經驗 聊天室

Post on 24-May-2015

254 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

如何攻破大型副本 大型專案的開發與團隊合作經驗 聊天室 - Sky

TRANSCRIPT

如何攻破大型副本大型專案的開發與團隊合作經驗 ( 聊天室 )Jed & Sky

Jed

Jed( 阿公 )

集英信誠 ALM Team 成員

• Visual Studio ALM• ASP.NET MVC

Sky Chang

Sky Chang

Microsoft Azure 微軟最有價值專家

天空的垃圾場blog.sanc.idv.tw

• ASP.NET MVC• Visual Studio ALM• Microsoft Azure

Agenda 架構篇

Orachard & Identity

程式篇 Model & Code First Generic Repository & Unit of Work & 擴展方法 N-Layer & AutoMapper Web API & AngularJS & AngularJS UI Bootstrap

Agenda 合作篇

版本控制 & CI & 測試 & 佈署 NuGet & 私服 & MyGet 多人開發 & IOC x DI x 洋蔥

Orachard & Identity

OrchardOrchard 是一個 Open Source 的 CMS ,它能夠讓使用者在 ASP.NET 平台上快速建立網站,並提供了擴充框架讓我們能透過 Module 或 Themes去增加它額外的功能內容,它能透過模組化的方式,重複使用,進而將開發的成本最小化。

為什麼要用 Orchard?

之所以會使用 Orchard 是因為想要直接使用他既有的身份認證,及他裡面的各種機制 ( 如:多語系、排程、… ) ,來節省我們在開發上的時間。

Model & Code First

Entity Framework 現實的 ORM DB First

產生 edmx 檔案來 map DB Table 更新時需要重新產生 edmx 刪除 Table 欄位需要手動刪除

Model First 幾乎沒人使用

Code First 請和 DBA 打好關係 如有使用 SSDT 容易造成衝突 現有 DB 的情況下還是可以用工具產生

Code Code 和 DB Shema 只需要撰寫一次

Code FirstDemo

Generic Repository & Unit of Work & 擴展方法

Repository Patten

真實的 Repository Patten 數量非常非常的多 都是重複的 Code

救星 Generic Repository!! 利用泛型 收納到只剩下一支

真實的世界

通常不會只針對一個 Table CRUD 會產生多個 Repository 泛型 Repository 一樣會需要建立多個 每個 Reposotory 內的 Context 各自獨

救星 Unit Of Work!! 集結所有 Repository 統一透過 Unit Of

Work

UNIT OF WORK

CustomerRepositoryInstance

OrderRepositoryInstance

ProductRepositoryInstance

Entity Framework & SP & View執行 SP ( Code First )

執行 SP 查詢

DALDemo

AutoMapper

AutoMapper

• 自動 Mapper 兩個物件

• 利用 AutoMapper再隔離一層

架構Business Web API

AutoMapper

Repository

(Unit Of Work)

Json

Entity

ViewModelEntity

DB

SQL 、 SP、 View

BLLDemo

Web API & AngularJS & AngularJS UI Bootstrap

Web API

前端的框架AngularJS Controller

Kendo UI

ViewModelJSON

DS

HTMLBind

UI

Demo

版本控制 & 建置 & 測試 & 佈署

版控我想大家應該都有用過但你如何確保簽入的程式是能運作的 ?

版控我想大家應該都有用過但你如何確保簽入的程式是能運作的 ?

透過自動化建置與測試失敗就不讓其他人繼續簽入直到最後簽入的人簽入可以通過建置與測試的版本

佈署悲劇多

通通自動化讓悲劇不再重現

NuGet & 私服 & MyGet

私服架設Demo

MyGet

https://www.myget.org/

多人開發 & IOC x DI x 洋蔥

洋蔥架構 應用程式係圍繞著一個獨立的物件模型

來建構。 內層定義介面,外層實作介面。 耦合的方向是朝向中央。 應用程式的所有核心程式碼可以在與基

礎建設分離的情況下正常運行。 ( By 蔡煥麟老師翻譯 )

核心 : IOC & DI

洋蔥架構

ProviderDemo

Q&A

Blog.sanc.idv.tw

Study4.TW

top related