SlideShare une entreprise Scribd logo
1  sur  35
ASP.Net Core
V1.0
大綱
• Framework的差異
• .Net Core指令與範本
• 檔案結構分析
• .Net Core基本概念
• ASP.Net MVC 6
• 資料存取: EFCore
• 測試
Framework在ASP.Net Core
• .Net Core的Framework支援:
• .Net Core v1.0
• .Net Framework 4.5 up
• .Net Core的專案可自行決定要使用的Framework版本,一般來說,官
方的名詞對映為:
• .Net core v1.0 -> core版本的Framework
• .Net Framework -> Full .Net Framework
兩種Framework的差異
• .Net Core:
• 跨平台(作業系統平台,不是.Net跨Java之類的)
• 更快更簡便
• 微軟暗示的未來發展項目
• Full .Net Framework:
• 完整版的.Net Framework,最高可支援到最新的.Net Framework 4.6.2,並且
與舊版一致
• 需額外在執行應用程式的作業系統上安裝.Net Framework
• 微軟明示的未來不發展項目
.Net Core
• 目前支援的平台:
• Windows
• Mac OSX
• Linux
• 未來會支援FreeBSD和Alpine
• .Net Core在設計上採用微核心的概念;除了最核心的功能之外,其它
都被包裝成為Nuget Package
• 其操作模式類似NodeJs,對於已有學習過NodeJs的開發者,有著極高
親和性
• 藉由.Net Native技術將效能提升至原生碼(Native)境界
這兩個Framework的當前狀況
• .Net Core
• 主要發展項目
• 為跨平台做準備,天生就具備跨平台,只需要在執行環境安裝.Net Core;而開
發人員則是要在自己環境安裝.Net Core SDK
• Full .Net Framework
• 舊版.Net Framework,套件和生態系最豐富
• 需要藉由Mono才能運作在Unix-Like的環境
.Net Core的指令
指令 說明
dotnet new 產生新的基本.Net專案內容(僅包含: project.json, Program.cs和Nuget.config)
dotnet restore 還原專案所使用的Nuget套件
dotnet build 建構專案
dotnet publish 產生可發行.Net專案(包含所屬的Runtime)
dotnet run 編譯與立即執行.Net專案(較適用於exe型專案)
dotnet repl 啟動互動式模式
dotnet pack 將專案的產出封裝成Nuget套件
範本
• .Net core為了能夠讓非Visual Studio開發人員能夠輕鬆的開發,提供
了官方與非官方兩種範本建構模式:
• dotnet new –t [範本型式]
• Yeoman(aspnet)
Yeoman aspnet的sub-command
• 在非Visual Studio的開發環境下,若要每個應用程式的程式碼都要
自行從空白檔案逐一建構,這將大幅降低生產力
• 為解決此一問題,可使用Yeoman aspnet套件中題供的子命令來解
決;子命令的格式為:
yo aspnet:[子指令] [檔案名稱]
(範例: 創建ASP.Net MVC的WebAPI Controller檔案)
yo aspnet:WebApiController ImageApiController
• 更多指令可參考其官方Github
.Net Core專案結構分析
方案描述檔,可指定編譯位置
專案中放置靜態檔案位置,Http Request的起始路徑
組態資料放置的檔案
專案核心檔案,所有操作和控制都在這個檔案
應用程式啟始進入點
global.json
• 在projects屬性中,可以指定編
譯時,要對那些路徑進行操作,
可以指定一個完整路徑
• Sdk說明的是當前方案是使用
那個版本的Visual Studio範本工
具
wwwroot
• Web專案路徑是整個專案的路
徑,但是實際上應用程式在執行
時,Http Request預設會從
wwwroot中存取資源
• 所有靜態資源檔案都應該要放
置在這個資料夾中
appsettings.json
• 應用程式所需要的組態資料都
寫在這個檔案中
• 此檔案為json,它允許巢狀的結
構
• 可使用Configuration物件存取
這個檔案
• 可在開發時期,將資料庫連線字
串寫在這個檔案中
Startup.cs
• 這裡是整個應用程式的進入點
• 可以在這邊啟動/組態所有應用
程式所有需要的元件
• 可以在這邊進行IoC的註冊
滄海遺珠: Program.cs
• 當以cmd啟動.Net Core應用程
式時,會以此檔案作為應用程式
進入點
• 組態底層應用程式執行時,所有
需要的控制的組態項目
滄海遺珠: launchSettings.json
• 指示IDE該如何啟動應用程式
• 控制執行環境:
• Development
• QA
• Product
• 可設定多組執行模式
• 可在Visual Studio的專案->屬性
中進行設定,也可以直接修改此
檔案(效果相同)
.Net Core基本概念
• 有幾個典範移轉的概念:
• 自行設計Http Request Handling flow
• 凡事皆Middleware(Http Request Pipeline)
• 與Full .Net Framework當前套件有大比例的不相容
• 什麼都要靠Nuget安裝套件和工具
• 開始習慣CommandLine
• 不同執行環境分的很清楚(Development, QA, Product)
• 萬物皆可注與被注入
• 新式的Configuration
• 提供Logger服務
• Session新解
Startup.cs會是你的好朋友
• 在Startup類別中的Configure方法中設計Http Request Handling flow:
1
2
3
• Http Request Handling flow的順序和
邏輯設計錯誤,這會導致應用程式非
預期執行
• 在flow中,每一個單元都是一個完整
的Middleware
凡事皆Middleware
• 每個Http Request被接收到之後,
會依照開發人員設計的Http
Request Handling flow進行處理
• Request/Response都會經過一
層層Middleware
• Middleware可以自行決定是否
要呼叫下一層,或是結束
不是每個套件都能用
• 當前有許多好用的套件仍未完
全移殖到.Net Core
• 目前絕大多數的熱門套件都已
經移殖了,但是.Net Core正式版
本與RC版本又不相容,套件作者
疲於奔命
(考驗套件作者的耐心)
Command Line萬歲
• .Net Core啟發(抄襲)自Node.Js,因此,它許多開發的模式都與Node.Js
有著高度的相似
• .Net Core可以僅靠指令就能進行許多CI流程所需要的操作:
• dotnet restore(套件還原)
• dotnet build(編譯專案)
• dotnet test(執行測試)
• dotnet publish or pack(發佈 or 打包)
多環境開發
• .Net Core在開發上特別針對不同執行環境有著友善的支援
• 開發人員僅需要調整launchSettings.json中的
ASPNETCORE_ENVIRONMENT
• 慣例上,只要在一些組態檔案的名稱動手腳就能夠套用在不同執行
環境上
(例: appsettings在開發環境下,名稱可以
是:appsettings.Development.json)
.Net Core提供基礎型IoC框架
• 可在Startup類別中的ConfigureServices方法中註冊
• .Net Core提供三種生命週期:
• Trasient
• Scope
• Singleton
• 預設採用建構子注入
• 會解決註冊物件之間的相依關係
Configuration
• 新式的Configuration為解決多環境的問題,提供了多組態來源以及
覆蓋機制
• 可使用Option pattern將物件所需要的組態值注入到物件建構子中
• 取巢狀的組態值時,可用格式: Configuration(“[第一層]:[第二層]”)
Logger
• 在.Net Core中,Logger是內建所提供的服務,並且可以注入到各個類
別中
• 只需要在Startup類別的Configure方法輸入參數指定,而後註冊
指明ILoggerFactory
Session
• Session與舊版最大的不同在於它的底層已經是抽換成Cache
(Session要和Cache一啟被啟用)
• 可以在Startup類別的ConfigureService方法中啟用Cache和Session
• 要注意Session的服務啟用一定要早於Mvc
• .Net Core提供的Session值存取非常陽春,主要是byte[]
(有提供擴充方法,但都是一些簡單型別)
(考量之處在於值是否可以被序列化)
ASP.Net MVC 6
• ASP.Net MVC 6僅能夠在.Net Core上執行
• ASP.Net MVC 6並沒有發生典範轉移
(誰知道MVC 7會不會! (╯-_-)╯ ~╩╩)
• MVC 6在開發上與MVC 5差異在於將一些套件進行優化,並且僅增
加一些東西:
Controller: POCO Controller, 合併MVC/WebAPI的父類別
View: ViewComponent, TagHelper, View Injection
Route Attribute: 路由字串範本
Controller的父類別
• 不論你使用的是MVC或是WebApi的Controller,它們都繼承同一個父
類別: Controller
• 藉由每個Action最後回傳的物件型別來區別是回傳MVC的View,還
是資料:
POCO Controller
• 可應用在WebAPI的Controller
• 查找Controller的預設方式:
• 本身是類別,且不是抽象類別
• 類別需為公開(Public)
• 類別後綴字: Controller或繼承Controller類別
• 該類別不能有[NonController]屬性標籤
TagHelper
• 開發人員可以自行設計Html標籤(element)及屬性(attribute)
• 具高可重用性(reusable)
• 僅需要在_ViewImports.cshtml檔案上添加:
Entity Framework Core
• 朝向輕量、可延展和跨平台發展
• 保留了EF中常用和慣用的頂層API
• 目標是就算在手機應用程式也能使用(舊版太肥無法用在手機)
• 尚未擁有的功能:
• Lazy Load(效能殺手,這個不支援也沒關係)
• Connection Resiliency(防閃斷,這個要快點支援)
• Complexity Type(DDD要這個)
• Spatial Type(空間資料會用到)
• Many-To-Many Relationship(竟然沒支援!?)
• Inheritance support is not complete(沒支援就會有很多阻抗匹配的問題)
• Seeding(竟然沒支援!?)
• GroupBy(報表GG了)
• …等
EFCore的In-Memory模式
• 為了讓整合測試更加順利,EFCore支援In-Memory模式;但這個模式
並非是完整的關聯式資料庫
單元測試
• .Net Core的單元測試環境框架目前僅支援三種:
• MSTest
• Nunit
• Xunit
• 只有是使用支援的環境框架才能夠使用dotnet test指令去執行
• 為了提示dotnet test測試環境況架,需額外在package.json中指定
testRunner的值
• 由於絕大多數的Mock框架都沒有支援.Net Core,因此,僅能選擇
Moq
整合測試
• 安裝套件
• 由於.Net Core可以使用WebHostBuilder來建構Web伺服器,可以利
用此點讓整合測試變得更加得簡便:
建構Web伺服器
總結與回顧
學習.Net
Core的關鍵:
Http Request
Handling flow
Middleware
開發
以指令驅動
的開發
IoC

Contenu connexe

Tendances

DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略Will Huang
 
深入淺出Node.JS
深入淺出Node.JS深入淺出Node.JS
深入淺出Node.JS國昭 張
 
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)Jeff Chu
 
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Gelis Wu
 
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityJustin Lin
 
前端自動化工具
前端自動化工具前端自動化工具
前端自動化工具國昭 張
 
[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享
[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享
[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享Duran Hsieh
 
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016Jeff Chu
 
DDD系統分析
DDD系統分析DDD系統分析
DDD系統分析國昭 張
 
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)Jeff Chu
 
Nuget介紹- 如何使用和建立自己的package
Nuget介紹- 如何使用和建立自己的packageNuget介紹- 如何使用和建立自己的package
Nuget介紹- 如何使用和建立自己的packageAlan Tsai
 
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索Will Huang
 
Full stack-development with node js
Full stack-development with node jsFull stack-development with node js
Full stack-development with node jsXuefeng Zhang
 
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應Justin Lin
 
Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Alan Tsai
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練22016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2Duran Hsieh
 
Frontend Devops at Cloudinsight
Frontend Devops at CloudinsightFrontend Devops at Cloudinsight
Frontend Devops at CloudinsightYan Wang
 

Tendances (20)

DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
 
深入淺出Node.JS
深入淺出Node.JS深入淺出Node.JS
深入淺出Node.JS
 
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
 
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
 
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
 
前端自動化工具
前端自動化工具前端自動化工具
前端自動化工具
 
[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享
[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享
[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0
 
Vue
VueVue
Vue
 
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
 
DDD系統分析
DDD系統分析DDD系統分析
DDD系統分析
 
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
 
Nuget介紹- 如何使用和建立自己的package
Nuget介紹- 如何使用和建立自己的packageNuget介紹- 如何使用和建立自己的package
Nuget介紹- 如何使用和建立自己的package
 
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索
 
Full stack-development with node js
Full stack-development with node jsFull stack-development with node js
Full stack-development with node js
 
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
 
Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練22016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
 
宅學習 Firebase
宅學習 Firebase宅學習 Firebase
宅學習 Firebase
 
Frontend Devops at Cloudinsight
Frontend Devops at CloudinsightFrontend Devops at Cloudinsight
Frontend Devops at Cloudinsight
 

Similaire à Asp.net core v1.0

Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAEq3boy
 
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩Wen-Tien Chang
 
How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4Daniel Chou
 
.NET 7 家族新成員: Microsoft Orleans v7
.NET 7 家族新成員:Microsoft Orleans v7.NET 7 家族新成員:Microsoft Orleans v7
.NET 7 家族新成員: Microsoft Orleans v7twMVC
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰Scourgen Hong
 
Ceph customize ap is for programmatic access with python
Ceph customize ap is for programmatic access with pythonCeph customize ap is for programmatic access with python
Ceph customize ap is for programmatic access with pythonBo-Yu Chen
 
Eventmachine Websocket 實戰
Eventmachine Websocket 實戰Eventmachine Websocket 實戰
Eventmachine Websocket 實戰Mu-Fan Teng
 
DAE 新变化介绍
DAE 新变化介绍DAE 新变化介绍
DAE 新变化介绍Tianwei Liu
 
基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发mysqlops
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介pan weizeng
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合Qiangning Hong
 
以业务为中心的云自动化 V mware-v-realize-automation-7
以业务为中心的云自动化 V mware-v-realize-automation-7以业务为中心的云自动化 V mware-v-realize-automation-7
以业务为中心的云自动化 V mware-v-realize-automation-7Frank Chang
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛Edward Kuo
 
Appserv setup
Appserv setupAppserv setup
Appserv setupHt Wang
 
使用 .NET Standard 開發跨平台應用程式
使用 .NET Standard 開發跨平台應用程式使用 .NET Standard 開發跨平台應用程式
使用 .NET Standard 開發跨平台應用程式Gelis Wu
 
Track2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewaveTrack2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewaveOpenCity Community
 
Real time web实时信息流推送
Real time web实时信息流推送Real time web实时信息流推送
Real time web实时信息流推送yongboy
 
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送Real-Time Web实时信息流推送
Real-Time Web实时信息流推送yongboy
 

Similaire à Asp.net core v1.0 (20)

Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
 
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
 
How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4
 
.NET 7 家族新成員: Microsoft Orleans v7
.NET 7 家族新成員:Microsoft Orleans v7.NET 7 家族新成員:Microsoft Orleans v7
.NET 7 家族新成員: Microsoft Orleans v7
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
Ceph customize ap is for programmatic access with python
Ceph customize ap is for programmatic access with pythonCeph customize ap is for programmatic access with python
Ceph customize ap is for programmatic access with python
 
Eventmachine Websocket 實戰
Eventmachine Websocket 實戰Eventmachine Websocket 實戰
Eventmachine Websocket 實戰
 
Html5
Html5Html5
Html5
 
DAE 新变化介绍
DAE 新变化介绍DAE 新变化介绍
DAE 新变化介绍
 
Meteor
MeteorMeteor
Meteor
 
基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合
 
以业务为中心的云自动化 V mware-v-realize-automation-7
以业务为中心的云自动化 V mware-v-realize-automation-7以业务为中心的云自动化 V mware-v-realize-automation-7
以业务为中心的云自动化 V mware-v-realize-automation-7
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
 
Appserv setup
Appserv setupAppserv setup
Appserv setup
 
使用 .NET Standard 開發跨平台應用程式
使用 .NET Standard 開發跨平台應用程式使用 .NET Standard 開發跨平台應用程式
使用 .NET Standard 開發跨平台應用程式
 
Track2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewaveTrack2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewave
 
Real time web实时信息流推送
Real time web实时信息流推送Real time web实时信息流推送
Real time web实时信息流推送
 
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
 

Plus de 國昭 張

8th ddd taiwan study group bounded context integration
8th ddd taiwan study group  bounded context integration8th ddd taiwan study group  bounded context integration
8th ddd taiwan study group bounded context integration國昭 張
 
Ddd(meetup 2) ddd with clean architecture
Ddd(meetup 2) ddd with clean architectureDdd(meetup 2) ddd with clean architecture
Ddd(meetup 2) ddd with clean architecture國昭 張
 
20190126 ddd-meetup1
20190126 ddd-meetup120190126 ddd-meetup1
20190126 ddd-meetup1國昭 張
 
事件風暴-設計衝刺
事件風暴-設計衝刺事件風暴-設計衝刺
事件風暴-設計衝刺國昭 張
 
事件風暴-領域建模
事件風暴-領域建模事件風暴-領域建模
事件風暴-領域建模國昭 張
 
Scrum essential
Scrum essentialScrum essential
Scrum essential國昭 張
 
Docker進階探討
Docker進階探討Docker進階探討
Docker進階探討國昭 張
 
DDD架構設計
DDD架構設計DDD架構設計
DDD架構設計國昭 張
 
架構設計-資料存取的選擇
架構設計-資料存取的選擇架構設計-資料存取的選擇
架構設計-資料存取的選擇國昭 張
 
例外處理與單元測試
例外處理與單元測試例外處理與單元測試
例外處理與單元測試國昭 張
 
SQL Server效能調校
SQL Server效能調校SQL Server效能調校
SQL Server效能調校國昭 張
 
NoSQL-MongoDB介紹
NoSQL-MongoDB介紹NoSQL-MongoDB介紹
NoSQL-MongoDB介紹國昭 張
 
C#版本3~5的新特性
C#版本3~5的新特性C#版本3~5的新特性
C#版本3~5的新特性國昭 張
 

Plus de 國昭 張 (20)

8th ddd taiwan study group bounded context integration
8th ddd taiwan study group  bounded context integration8th ddd taiwan study group  bounded context integration
8th ddd taiwan study group bounded context integration
 
Ddd(meetup 2) ddd with clean architecture
Ddd(meetup 2) ddd with clean architectureDdd(meetup 2) ddd with clean architecture
Ddd(meetup 2) ddd with clean architecture
 
20190126 ddd-meetup1
20190126 ddd-meetup120190126 ddd-meetup1
20190126 ddd-meetup1
 
事件風暴-設計衝刺
事件風暴-設計衝刺事件風暴-設計衝刺
事件風暴-設計衝刺
 
事件風暴-領域建模
事件風暴-領域建模事件風暴-領域建模
事件風暴-領域建模
 
單元測試
單元測試單元測試
單元測試
 
Docker實務
Docker實務Docker實務
Docker實務
 
Scrum essential
Scrum essentialScrum essential
Scrum essential
 
Docker進階探討
Docker進階探討Docker進階探討
Docker進階探討
 
Docker基礎
Docker基礎Docker基礎
Docker基礎
 
DDD架構設計
DDD架構設計DDD架構設計
DDD架構設計
 
DDD引導
DDD引導DDD引導
DDD引導
 
前端測試
前端測試前端測試
前端測試
 
架構設計-資料存取的選擇
架構設計-資料存取的選擇架構設計-資料存取的選擇
架構設計-資料存取的選擇
 
例外處理與單元測試
例外處理與單元測試例外處理與單元測試
例外處理與單元測試
 
SQL Server效能調校
SQL Server效能調校SQL Server效能調校
SQL Server效能調校
 
NoSQL-MongoDB介紹
NoSQL-MongoDB介紹NoSQL-MongoDB介紹
NoSQL-MongoDB介紹
 
Linq初階
Linq初階Linq初階
Linq初階
 
Linq實戰
Linq實戰Linq實戰
Linq實戰
 
C#版本3~5的新特性
C#版本3~5的新特性C#版本3~5的新特性
C#版本3~5的新特性
 

Asp.net core v1.0