SlideShare a Scribd company logo
www.dotnetconf.net
為什麼要講這個主題?
對我來說這一切起源於
關注點分離
複雜程度
重複利用性
可讀性
使用 DI 之後
程式碼好像從此變簡單了
Dependency
Injection
的背景知識
DI 與生命週期
如何使用
.NET 內建的
DI 框架
Poy Chang
目前任職於全美 100 大私人企業,負責企業內部 IT 解
決方案設計與開發,專注於 Angular、ASP.NET Core、
Azure 等技術研究
✓ Angular Taiwan 社群核心成員
✓ Microsoft MVP Developer Technologies
✓ Global Azure Bootcamp@北京 講師
單一責任原則
SRP
開放封閉原則
OCP
里氏替換原則
LSP
介面隔離原則
ISP
依賴反轉原則
DIP
Dependency Injection
首先,先介紹一種設計模式
IOC 控制反轉
設計原則
依賴注入
被建立時
外界實體 依賴的物件
傳遞
NEW NEW
DI Container
NEW NEW
IOC
DI
Constructor Injection
Property Injection
Method InjectionService Locator
Events
Delegates
原則
設計模式
實現方式
實作
Daniel Palme, IOC Container Benchmark - Performance comparison
milliseconds
BuildServiceProvider
Singleton
Scoped
Transient
more
高階模組
依賴物件
SOLID 原則或者 DI 機制
能吸引你嗎?
對我來說,能讓程式碼變
得簡單易讀、職責分離,
光這樣就夠吸引我了
再也不用 new 了!
DI 自動組合依賴的物件
規劃好服務的生命週期,
只要註冊好,之後注入就
可以用,超方便
DI 實現我關注點分離的
願望 ☺
服務是一個個的商業邏輯,
撰寫程式時能更專注,之
後切換也簡單
使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)

More Related Content

What's hot

Pivotal Greenplumで実現する次世代データ分析基盤のご紹介
Pivotal Greenplumで実現する次世代データ分析基盤のご紹介Pivotal Greenplumで実現する次世代データ分析基盤のご紹介
Pivotal Greenplumで実現する次世代データ分析基盤のご紹介
Masayuki Matsushita
 
RealSenseとYOLOを用いた物体把持
RealSenseとYOLOを用いた物体把持RealSenseとYOLOを用いた物体把持
RealSenseとYOLOを用いた物体把持
NaotakaKawata
 
Scala警察のすすめ
Scala警察のすすめScala警察のすすめ
Scala警察のすすめ
takezoe
 
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
Hiroko Tamagawa
 
객체지향 프로그래밍 기본
객체지향 프로그래밍 기본객체지향 프로그래밍 기본
객체지향 프로그래밍 기본
용호 최
 
(C#,멀티쓰레드강좌)쓰레드, STA, MTA개요, 간단한 멀티쓰레드 예제_닷넷,C#,WPF,자마린실무강좌
(C#,멀티쓰레드강좌)쓰레드, STA, MTA개요, 간단한 멀티쓰레드 예제_닷넷,C#,WPF,자마린실무강좌(C#,멀티쓰레드강좌)쓰레드, STA, MTA개요, 간단한 멀티쓰레드 예제_닷넷,C#,WPF,자마린실무강좌
(C#,멀티쓰레드강좌)쓰레드, STA, MTA개요, 간단한 멀티쓰레드 예제_닷넷,C#,WPF,자마린실무강좌
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
 
Weaveを試してみた
Weaveを試してみたWeaveを試してみた
Weaveを試してみた
Kazuto Kusama
 
十二項架構設計原則
十二項架構設計原則十二項架構設計原則
十二項架構設計原則
Philip Zheng
 
[PyConKR][2020]이 선 넘으면 침범이야, BEEP!
[PyConKR][2020]이 선 넘으면 침범이야, BEEP![PyConKR][2020]이 선 넘으면 침범이야, BEEP!
[PyConKR][2020]이 선 넘으면 침범이야, BEEP!
Ji Hyung Moon
 
MySQLからPostgreSQLへのマイグレーションのハマリ所
MySQLからPostgreSQLへのマイグレーションのハマリ所MySQLからPostgreSQLへのマイグレーションのハマリ所
MySQLからPostgreSQLへのマイグレーションのハマリ所
Makoto Kaga
 
Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証
Shinya Okano
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
 
シリコンバレー流開発スタイル
シリコンバレー流開発スタイルシリコンバレー流開発スタイル
シリコンバレー流開発スタイル
Kohei Taniguchi
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
Shunsuke Maeda
 
스타트업에서 기술책임자로 살아가기
스타트업에서 기술책임자로 살아가기스타트업에서 기술책임자로 살아가기
스타트업에서 기술책임자로 살아가기
Hyun-woo Park
 
データセンターネットワークの構成について
データセンターネットワークの構成についてデータセンターネットワークの構成について
データセンターネットワークの構成について
MicroAd, Inc.(Engineer)
 
JavaScript GIS ライブラリ turf.js 入門
JavaScript GIS ライブラリ turf.js 入門JavaScript GIS ライブラリ turf.js 入門
JavaScript GIS ライブラリ turf.js 入門
Takahiro Kamada
 
Embedded Virtualization applied in Mobile Devices
Embedded Virtualization applied in Mobile DevicesEmbedded Virtualization applied in Mobile Devices
Embedded Virtualization applied in Mobile Devices
National Cheng Kung University
 
15分で分かる NoOps
15分で分かる NoOps15分で分かる NoOps
15分で分かる NoOps
Hiromasa Oka
 

What's hot (20)

Pivotal Greenplumで実現する次世代データ分析基盤のご紹介
Pivotal Greenplumで実現する次世代データ分析基盤のご紹介Pivotal Greenplumで実現する次世代データ分析基盤のご紹介
Pivotal Greenplumで実現する次世代データ分析基盤のご紹介
 
RealSenseとYOLOを用いた物体把持
RealSenseとYOLOを用いた物体把持RealSenseとYOLOを用いた物体把持
RealSenseとYOLOを用いた物体把持
 
Scala警察のすすめ
Scala警察のすすめScala警察のすすめ
Scala警察のすすめ
 
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
 
객체지향 프로그래밍 기본
객체지향 프로그래밍 기본객체지향 프로그래밍 기본
객체지향 프로그래밍 기본
 
(C#,멀티쓰레드강좌)쓰레드, STA, MTA개요, 간단한 멀티쓰레드 예제_닷넷,C#,WPF,자마린실무강좌
(C#,멀티쓰레드강좌)쓰레드, STA, MTA개요, 간단한 멀티쓰레드 예제_닷넷,C#,WPF,자마린실무강좌(C#,멀티쓰레드강좌)쓰레드, STA, MTA개요, 간단한 멀티쓰레드 예제_닷넷,C#,WPF,자마린실무강좌
(C#,멀티쓰레드강좌)쓰레드, STA, MTA개요, 간단한 멀티쓰레드 예제_닷넷,C#,WPF,자마린실무강좌
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
Weaveを試してみた
Weaveを試してみたWeaveを試してみた
Weaveを試してみた
 
十二項架構設計原則
十二項架構設計原則十二項架構設計原則
十二項架構設計原則
 
[PyConKR][2020]이 선 넘으면 침범이야, BEEP!
[PyConKR][2020]이 선 넘으면 침범이야, BEEP![PyConKR][2020]이 선 넘으면 침범이야, BEEP!
[PyConKR][2020]이 선 넘으면 침범이야, BEEP!
 
MySQLからPostgreSQLへのマイグレーションのハマリ所
MySQLからPostgreSQLへのマイグレーションのハマリ所MySQLからPostgreSQLへのマイグレーションのハマリ所
MySQLからPostgreSQLへのマイグレーションのハマリ所
 
Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
 
シリコンバレー流開発スタイル
シリコンバレー流開発スタイルシリコンバレー流開発スタイル
シリコンバレー流開発スタイル
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 
스타트업에서 기술책임자로 살아가기
스타트업에서 기술책임자로 살아가기스타트업에서 기술책임자로 살아가기
스타트업에서 기술책임자로 살아가기
 
データセンターネットワークの構成について
データセンターネットワークの構成についてデータセンターネットワークの構成について
データセンターネットワークの構成について
 
JavaScript GIS ライブラリ turf.js 入門
JavaScript GIS ライブラリ turf.js 入門JavaScript GIS ライブラリ turf.js 入門
JavaScript GIS ライブラリ turf.js 入門
 
Embedded Virtualization applied in Mobile Devices
Embedded Virtualization applied in Mobile DevicesEmbedded Virtualization applied in Mobile Devices
Embedded Virtualization applied in Mobile Devices
 
15分で分かる NoOps
15分で分かる NoOps15分で分かる NoOps
15分で分かる NoOps
 

Similar to 使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)

Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Angular Conf 2018 - 原來 Angular 可以這樣玩設定Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Poy Chang
 
程式交易介紹及 FinTech 創作分享
程式交易介紹及 FinTech 創作分享程式交易介紹及 FinTech 創作分享
程式交易介紹及 FinTech 創作分享
Philip Zheng
 
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
twMVC
 
認識程式交易
認識程式交易認識程式交易
認識程式交易
Philip Zheng
 
2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设
Tianwei Liu
 
程式交易面面觀
程式交易面面觀程式交易面面觀
程式交易面面觀
Philip Zheng
 
从CI到CD[麻袋理财王天青]v1
从CI到CD[麻袋理财王天青]v1从CI到CD[麻袋理财王天青]v1
从CI到CD[麻袋理财王天青]v1天青 王
 
91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps
Andrew Wu
 
微服務的基礎建設 - Service Discovery, Andrew Wu
微服務的基礎建設 - Service Discovery, Andrew Wu微服務的基礎建設 - Service Discovery, Andrew Wu
微服務的基礎建設 - Service Discovery, Andrew Wu
Andrew Wu
 
微服務對IT人員的衝擊
微服務對IT人員的衝擊微服務對IT人員的衝擊
微服務對IT人員的衝擊
Philip Zheng
 
應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務
應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務
應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務
Edward Kuo
 
Agile tour 2014 - Coding Dojo with C# and TDD
Agile tour 2014 - Coding Dojo with C# and TDDAgile tour 2014 - Coding Dojo with C# and TDD
Agile tour 2014 - Coding Dojo with C# and TDDAgileCommunity
 
Agile tour Taipei 2014 - coding dojo with CSharp and TDD
Agile tour Taipei 2014 - coding dojo with CSharp and TDDAgile tour Taipei 2014 - coding dojo with CSharp and TDD
Agile tour Taipei 2014 - coding dojo with CSharp and TDD
Joey Chen
 
微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势
微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势
微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势
damacheng2
 
TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學
潘 冠辰
 
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
Alan Tsai
 
DevOps的神鬼奇航
DevOps的神鬼奇航DevOps的神鬼奇航
DevOps的神鬼奇航
Edward Kuo
 
安卓中的设计模式举例 by hjm1fb
安卓中的设计模式举例 by hjm1fb安卓中的设计模式举例 by hjm1fb
安卓中的设计模式举例 by hjm1fb
Albert Hong
 
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
twMVC
 
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2
twMVC
 

Similar to 使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018) (20)

Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Angular Conf 2018 - 原來 Angular 可以這樣玩設定Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Angular Conf 2018 - 原來 Angular 可以這樣玩設定
 
程式交易介紹及 FinTech 創作分享
程式交易介紹及 FinTech 創作分享程式交易介紹及 FinTech 創作分享
程式交易介紹及 FinTech 創作分享
 
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
 
認識程式交易
認識程式交易認識程式交易
認識程式交易
 
2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设
 
程式交易面面觀
程式交易面面觀程式交易面面觀
程式交易面面觀
 
从CI到CD[麻袋理财王天青]v1
从CI到CD[麻袋理财王天青]v1从CI到CD[麻袋理财王天青]v1
从CI到CD[麻袋理财王天青]v1
 
91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps
 
微服務的基礎建設 - Service Discovery, Andrew Wu
微服務的基礎建設 - Service Discovery, Andrew Wu微服務的基礎建設 - Service Discovery, Andrew Wu
微服務的基礎建設 - Service Discovery, Andrew Wu
 
微服務對IT人員的衝擊
微服務對IT人員的衝擊微服務對IT人員的衝擊
微服務對IT人員的衝擊
 
應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務
應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務
應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務
 
Agile tour 2014 - Coding Dojo with C# and TDD
Agile tour 2014 - Coding Dojo with C# and TDDAgile tour 2014 - Coding Dojo with C# and TDD
Agile tour 2014 - Coding Dojo with C# and TDD
 
Agile tour Taipei 2014 - coding dojo with CSharp and TDD
Agile tour Taipei 2014 - coding dojo with CSharp and TDDAgile tour Taipei 2014 - coding dojo with CSharp and TDD
Agile tour Taipei 2014 - coding dojo with CSharp and TDD
 
微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势
微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势
微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势
 
TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學
 
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
 
DevOps的神鬼奇航
DevOps的神鬼奇航DevOps的神鬼奇航
DevOps的神鬼奇航
 
安卓中的设计模式举例 by hjm1fb
安卓中的设计模式举例 by hjm1fb安卓中的设计模式举例 by hjm1fb
安卓中的设计模式举例 by hjm1fb
 
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
 
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2
 

More from Poy Chang

我的 DevOps 故事
我的 DevOps 故事我的 DevOps 故事
我的 DevOps 故事
Poy Chang
 
玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手
Poy Chang
 
打造 AIoT 智慧物聯網時代解決方案
打造 AIoT 智慧物聯網時代解決方案打造 AIoT 智慧物聯網時代解決方案
打造 AIoT 智慧物聯網時代解決方案
Poy Chang
 
Vue 和 Angular 開發習慣
Vue 和 Angular 開發習慣Vue 和 Angular 開發習慣
Vue 和 Angular 開發習慣
Poy Chang
 
使用最新 Edge 瀏覽器來進行開發​
使用最新 Edge 瀏覽器來進行開發​使用最新 Edge 瀏覽器來進行開發​
使用最新 Edge 瀏覽器來進行開發​
Poy Chang
 
#19 Azure with Build 2019 - Windows Terminal
#19 Azure with Build 2019 - Windows Terminal#19 Azure with Build 2019 - Windows Terminal
#19 Azure with Build 2019 - Windows Terminal
Poy Chang
 
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Poy Chang
 
那個 Code 不是我弄壞的! 持續整合與版本控制策略
那個 Code 不是我弄壞的!持續整合與版本控制策略那個 Code 不是我弄壞的!持續整合與版本控制策略
那個 Code 不是我弄壞的! 持續整合與版本控制策略
Poy Chang
 
Azure TechDay Party - AIoT 智慧物聯網時代
Azure TechDay Party - AIoT 智慧物聯網時代Azure TechDay Party - AIoT 智慧物聯網時代
Azure TechDay Party - AIoT 智慧物聯網時代
Poy Chang
 
從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧
從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧
從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧
Poy Chang
 
Global Azure Bootcamp @ 北京 - Azure Bot Servic 快速打造你的機器人
Global Azure Bootcamp @ 北京 - Azure Bot Servic  快速打造你的機器人Global Azure Bootcamp @ 北京 - Azure Bot Servic  快速打造你的機器人
Global Azure Bootcamp @ 北京 - Azure Bot Servic 快速打造你的機器人
Poy Chang
 
智慧型校園Ip網路監控系統
智慧型校園Ip網路監控系統智慧型校園Ip網路監控系統
智慧型校園Ip網路監控系統Poy Chang
 

More from Poy Chang (12)

我的 DevOps 故事
我的 DevOps 故事我的 DevOps 故事
我的 DevOps 故事
 
玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手
 
打造 AIoT 智慧物聯網時代解決方案
打造 AIoT 智慧物聯網時代解決方案打造 AIoT 智慧物聯網時代解決方案
打造 AIoT 智慧物聯網時代解決方案
 
Vue 和 Angular 開發習慣
Vue 和 Angular 開發習慣Vue 和 Angular 開發習慣
Vue 和 Angular 開發習慣
 
使用最新 Edge 瀏覽器來進行開發​
使用最新 Edge 瀏覽器來進行開發​使用最新 Edge 瀏覽器來進行開發​
使用最新 Edge 瀏覽器來進行開發​
 
#19 Azure with Build 2019 - Windows Terminal
#19 Azure with Build 2019 - Windows Terminal#19 Azure with Build 2019 - Windows Terminal
#19 Azure with Build 2019 - Windows Terminal
 
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
 
那個 Code 不是我弄壞的! 持續整合與版本控制策略
那個 Code 不是我弄壞的!持續整合與版本控制策略那個 Code 不是我弄壞的!持續整合與版本控制策略
那個 Code 不是我弄壞的! 持續整合與版本控制策略
 
Azure TechDay Party - AIoT 智慧物聯網時代
Azure TechDay Party - AIoT 智慧物聯網時代Azure TechDay Party - AIoT 智慧物聯網時代
Azure TechDay Party - AIoT 智慧物聯網時代
 
從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧
從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧
從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧
 
Global Azure Bootcamp @ 北京 - Azure Bot Servic 快速打造你的機器人
Global Azure Bootcamp @ 北京 - Azure Bot Servic  快速打造你的機器人Global Azure Bootcamp @ 北京 - Azure Bot Servic  快速打造你的機器人
Global Azure Bootcamp @ 北京 - Azure Bot Servic 快速打造你的機器人
 
智慧型校園Ip網路監控系統
智慧型校園Ip網路監控系統智慧型校園Ip網路監控系統
智慧型校園Ip網路監控系統
 

使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)