狠狠撸

狠狠撸Share a Scribd company logo
twMVC#18 – 專案分层架構
Kevin Tseng
http://mvc.tw
? 微軟最有價值專家(MVP)2013~2015
? twMVC 核心成員及講師 (http://mvc.tw)
? SkillTree 專任講師 (http://skilltree.my)
? 部落格「mrkt 的程式學習筆記」
http://kevintsengtw.blogspot.tw
? Google+ 專頁
https://plus.google.com/+KevintsengtwBlogspot
? Github
https://github.com/kevintsengtw
簡介
2
3
twMVC 相關架構的主題
http://mvc.tw
twMVC #05
4http://goo.gl/k0PNWe
http://mvc.tw
twMVC #10
5http://goo.gl/m7LHfg
http://mvc.tw
twMVC #11
6
http://goo.gl/8zL4pe
http://mvc.tw
twMVC #15
7http://goo.gl/8JR93s
8
ASP.NET MVC 專案分层架構系列
http://mvc.tw
? Part.1 初學者的起手式
? Part.2 抽出 Repository 裡相同的部分
? Part.3 個別 Repository 的资料存取操作
? Part.4 抽出 Model 层并建立為类别库专案
? Part.5 建立 Service 层
? Part.6 DI/IoC 使用 Unity.MVC
? 建議與補充說明
ASP.NET MVC 專案分层架構系列
http://kevintsengtw.blogspot.tw/search/label/分层架構 9
http://mvc.tw
? 很多人看,但是很多人不懂
? 很多人跟著做,但是做了之後還是不懂
? 有些公司、團隊也照著做,但是只做了一半
? 重要的部分,我還沒有寫出來
? 不建議程式開發初學者閱讀
? 不瞭解物件導向的開發人員,不建議閱讀
ASP.NET MVC 專案分层架構系列
10
11
分层與架構
http://mvc.tw
? 架構:
系統架構
軟體架構
? 分层:
系統架構的分层 – Tier (實體层)
軟體架構的分层 – Layer (邏輯层)
架構、分层
12
http://mvc.tw
? 合適的架構會讓系統有更好的靈活性和伸縮性,
並且會使開發人員進入良性循環
? 不合適的架構則很容易導致軟體在變化的需求中崩潰
架構 Architecture
.NET 應用架構設計 原則、模式與實踐 – 汪洋 13
http://mvc.tw
? Martin Fowler
最高层次的系統分解,系統中不易改變的決定。
? Ralph Johnson
高階開發人員對系統設計的一些可共享的理解,這些可共享
的理解表現為系統中主要的組成部分以及這些組成之間的交
互關係。
? 架構是必須在開發初期所做出的一組設計與決策
(這些內容也是在開發後期難以去做改變)
軟體架構 – Software Architecture
Patterns of Enterprise Application Architecture - Martin Fowler
(企業應用架構模式)
14
http://mvc.tw
? Physical Tier
? 每一层多半代表著一個獨立的實體
? 三层式的系統:
展現层:客戶端的電腦
邏輯運算层:伺服器
資料存取层:資料庫伺服器
? 每一层都會有對應的硬體與系統軟體
? 不同的實體层有時也會存在於同一台伺服器上
系統架構的分层 – Tier (實體层)
Brownfield Application Development in .NET – Kyle Baley, Donald Belcham
軟體構築美學 蔡煥麟, 張簡才祿 譯
15
http://mvc.tw
系統架構的分层 – Tier (實體层)
from twMVC#11 架構設計入門 by Clark (昏睡領域) 16
http://mvc.tw
? Logical Layer
? 不牽涉到硬體,偏向軟體的設計,或根據不同任務來區分
? 實體层會包含一到多個邏輯层
? 根據不同的關注點定義程式碼所在的位置
? 明確的分離與相鄰邏輯层之間的互動關係,透過介面
軟體架構的分层 – Layer (邏輯层)
Brownfield Application Development in .NET – Kyle Baley, Donald Belcham
軟體構築美學 蔡煥麟, 張簡才祿 譯
17
http://mvc.tw
軟體架構的分层 – Layer (邏輯层)
from twMVC#11 架構設計入門 by Clark (昏睡領域) 18
http://mvc.tw
? 用以分解複雜的軟體系統設計
? 每一层都依拖在其下层之上,上层使用了下层定義的各種服
務,而下层對上层如何使用並不需要瞭解。
? 每一层對自己的上层隱藏其下层的細節。
分层 - Layer
19
http://mvc.tw
? 分层是企業應用系統中最常見的一種架構模式
? 將系統以橫向切分幾個部分,每個部分負責一個相對比較單
一的職責,通過上层對下层的依賴和調用來組成一個完整的
系統
分层 - Layer
20
http://mvc.tw
? 可以替換某一层的具體實現,只要前後提供的服務相同即可
? 可以將各层次間的相依性減到最低
? 分层有利於標準化
? 合理的分层有助於分工開發與維護
? 各层之間具有一定的獨立性,維持之間溝通的介面不變,各
层可以根據具體問題各自實作,而不需要其他层也必須做出
相應調整
分层 – 好處
21
http://mvc.tw
? 過多的分层會影響效能
? 不合理的分层將會導致軟體開發品質下降
? 不合理的分层使得不同层次的程式碼耦合在一起,相依性增
加,使得程式越來越難以隨著需求變更而進行相應調整
? 分层無法封裝所有的東西,例如因應需求要在前端介面增加
輸入欄位,必須要在表現层、商業邏輯层、資料存取层都做
相對應的修改
分层 – 壞處
22
http://mvc.tw
? 合理的分层,什麼分层的需求變更就去修改那一個分层的程
式碼,而與其他分层無關
? Client/Server
? 3 Tiers / 3 Layers
分层
23
http://mvc.tw
三层式架構 3 Layers
24
? 展現层 Presentation Layer
? 商業邏輯层 Business Layer
? 資料存取层 Data Layer
https://msdn.microsoft.com/en-us/library/ff650706.aspx
http://mvc.tw
ASP.NET MVC with N-Layer Architecture
25from twMVC#5 ASP.NET MVC之實戰架構探討 by Bibby Chung
http://mvc.tw
? M-V-C 三個組成部分不等於三层式架構
? ASP.NET MVC 專案可視為表現层
? 分层的問題:要決定建立哪些层以及每一层的職責為何?
應該要如何分层?
要分那幾层?
什麼部分應該放在那一层?
ASP.NET MVC with N-Layer Architecture
26
27
專案分层
28
29
專案分层 Part.1
初學者的起手式
http://mvc.tw
? Visual Studio 2013 with Update 4
? Microsoft SQL Server 2014 Express
? ASP.NET MVC 5, Entity Framework 6.1.3
? Database: Northwind
Part.1 初學者的起手式
30
http://mvc.tw
Part.1 初學者的起手式
31
? 建立 Repository
1. 建立 ICategoryRepository, IProductRepository
2. 實作 ICategoryRepository, IProductRepository
3. 在 Controller 裡使用 Repository
32
http://mvc.tw
? 關注點分離 SoC, Separation of Concers
? 資料倉儲模式 Repository Pattern
? 單一職責原則 SRP
Single Responsibility Principle
? Do not Repeat Yourself (DRY)
? 分层架構不一定要分好幾個專案來操作,在同一個網站專案
中也是可以做出的分层架構(目錄)
Part.1 初學者的起手式
33
http://mvc.tw
? by Edward Hieatt and Rob Mee
? Mediates between the domain and data mapping
layers using a collection-like interface for
accessing domain objects.
? 協調領域和資料對映层,利用類似於集合的接口來訪問領域
物件。
Repository 資料倉儲(資源庫)模式
34http://martinfowler.com/eaaCatalog/repository.html
http://mvc.tw
? Repository 是領域层與資料對應层之間的媒介,如同存在
記憶體中的物件集合。
用戶端會建構查詢規格(query specification),並傳
遞給 Repository 以執行特定的資料操作.....
概念上,Repository 將資料與其相關操作封裝成物件集合,
以便用貼近物件導向的方式來存取資料
Repository 資料倉儲(資源庫)模式
Huan-Lin 學習筆記: Repository,我可能不會用你
http://mvc.tw
? Single Responsibility Principle
? 應該有,且只有一個原因,會引起class的變更
? 一個class只負責一個職責的內容
一個class如果要負責多個職責,其內容應該只是組合多個
class,而每個被組合的class只負責單一職責,且通常這
樣的組合都是透過接口(interface/abstract)
單一職責原則 SRP
36[ASP.NET]91之ASP.NET由淺入深 不負責講座 Day17 - 單一職責原則
http://mvc.tw
? Single Responsibility Principle
(1)class複雜性降低,因為實現什麼職責都有很清楚的定義
(2)可讀性提高
(3)可維護性提高
(4)變更引起的風險降低,變更範圍降低,擴展性提高
單一職責,也就是高內聚力的實作方式。
單一職責原則 SRP
37[ASP.NET]91之ASP.NET由淺入深 不負責講座 Day17 - 單一職責原則
38
專案分层 Part.2
抽出 Repository 裡相同的部份
http://mvc.tw
? 資料操作方法(CRUD)除了操作的類別不同之外,
其餘的幾乎是一樣的
? 將共同的部份給抽離出來另外建立 IRepository 介面
? 使用「泛型」的特性
? 建立通用的 Repository 類別(GenericRepository),
並且繼承實作 IRepository
Part.2 抽出 Repository 裡相同的部份
39
40
41
專案分层 Part.3
個別 Repository 的资料存取操作
http://mvc.tw
? 當資料的操作有別於 GenericRepository 時,
在各自的 Repository 去加入特定的方法
? 重新建立
ICategoryRepository, IProductRepository
? 重新建立繼承實作介面
CategoryRepository, ProductRepository
Part.3 - 個別 Repository 的资料存取操作
42
43
44
http://mvc.tw
? 為何又要重新建立在 Part.2 已經移除的介面和實作呢?
Part.3 - 個別 Repository 的资料存取操作
46
專案分层 Part.4
抽出 Model 层并建立為类别库专案
http://mvc.tw
? 如果專案不大或並不是很複雜,其實可以不必抽出 Model
Part.4 - 抽出 Model 层并建立為类别库专案
47
48
49
專案分层 Part.5
建立 Service 层
http://mvc.tw
? Repository 层,主要是用來操作資料的存取
不牽涉商業邏輯的操作
? Controller 其主要的工作為系統流程的控制,
驗證輸入的資料,依據傳入的需求來決定要存取哪些資料,
並且決定要選擇 View 以回應到需求端
? 商業邏輯的處理不適合放在 Controller 當中,
過多的商業邏輯處理反而會讓 Controller 的流程控制與
商業邏輯混在一起
Part.5 - 建立 Service 层
50
http://mvc.tw
? 服務层,主要是把系統的商業邏輯給封裝起來
Service 层使用 Repository 层所提供的服務來存取資料
Controller 透過 Service 层來做資料的處理,不直接使
用 Repository。
? Repositiry 主要負責資料的 CRUD,而 Service 則是處
理商業邏輯的處理
Part.5 - 建立 Service 层
52
twMVC#18 | 專案分层架構
twMVC#18 | 專案分层架構
http://mvc.tw
? Repository 與 Service 絕對不會依賴於展現层
? Service 层不應該也不會使用到展現层的物件
展現层的 ViewModel 不可能也不應該出現在 Service
? Service 层與展現层可以使用 DTO (Data Transfer
Object 資料傳輸物件) 來傳遞資料
? DTO 與展現层物件(ex: ViewModel)的對映轉換,可以
使用 AutoMapper
Part.5 - 建立 Service 层
http://mvc.tw
? 是否一個 Model 類別就要建立一個對應的 Service 類別?
? 如果遇到了資料需要 JOIN 處理時,要放在哪裡?
? 一定要有 Repository 嗎?
? 好多介面?
? Service 有必要做一個 Iservice 介面嗎?
Part.5 - 建立 Service 层
http://mvc.tw
? MSDN – The Repository Pattern
? Huan-Lin 學習筆記: Repository,我可能不會用你
Huan-Lin 學習筆記: Repository,我可能不會用你(2)-範例
Huan-Lin 學習筆記: Repository,我可能不會用你(3)-正反意見
關於 Repository
57
58
專案分层 Part.6
DI/IoC 使用 Unity.MVC
59
http://mvc.tw
? 少了彈性就代表系統缺乏可擴充與變化性
? 程式的內容是針對介面而寫,而不是針對實作而寫
實作應該依賴抽象,而不是依賴細節
? 模組之間的依賴關係,要透過抽象介面
Class 之間不發生直接的依賴關係
而相互之間的則是透過 Interface 或 abstract class
產生依賴關係
Part.6 - DI/IoC 使用 Unity.MVC
6091之ASP.NET由淺入深 不負責講座 Day22 - DIP 依賴反轉原則
http://mvc.tw
除了 Microsoft’s Unity IoC container 之外,
還可以選用其他的 DI/Ioc Container
? Autofac
? Ninject
? Castle Windsor
? Spring.NET
? SimpleInjector … etc
Part.6 - DI/IoC Container
IoC Container Benchmark - Performance comparison -
www.palmmedia.de
http://mvc.tw
Unity bootstrapper for ASP.NET MVC
MSDN – patterns & practices - Unity 3 – April 2013
63
twMVC#18 | 專案分层架構
twMVC#18 | 專案分层架構
twMVC#18 | 專案分层架構
twMVC#18 | 專案分层架構
twMVC#18 | 專案分层架構
twMVC#18 | 專案分层架構
http://mvc.tw
? Huan-Lin 學習筆記: Dependency Injection 筆記 (1)
? Huan-Lin 學習筆記: Dependency Injection 筆記 (2)
? Huan-Lin 學習筆記: Dependency Injection 筆記 (3)
? Huan-Lin 學習筆記: Dependency Injection 筆記 (4)
? Huan-Lin 學習筆記: Dependency Injection 筆記 (5)
? Huan-Lin 學習筆記: Dependency Injection 筆記 (6)
Huan-Lin 學習筆記: Dependency Injection 筆記
http://mvc.tw
? .NET 相依性注入 使用 Unity - 蔡煥麟 著
Dependency Injection 參考資料
https://leanpub.com/dinet 71
http://mvc.tw
? 原本還沒有 Service 的時候,在 Repository 還有處理
Dispose,但是在建立 Service 之後就沒有去處理。
難道是不需要嗎?
? 建立一次 Repository instance 就建立一個 DbContext
instance,這成本似乎有點高?
目前問題
73
專案分层 Part.7
Unit of Work 工作單元
http://mvc.tw
? 維護受業務事物影響的一系列物件,並協調變化寫入和併發
問題的解決
Maintains a list of objects affected by a business
transaction and coordinates the writing out of changes
and the resolution of concurrency problems.
- Martin Fowler
Part.7 – Unit of Work 工作單元
74http://martinfowler.com/eaaCatalog/unitOfWork.html
http://mvc.tw
? 管理物件的 CRUD 操作,工作單元負協調這些變化的持久化
工作以及所有標記的併發問題
? 確保數據在持久化過程的資料完整性
? 如果在同一個工作單元中持久化一系列物件資料時出現問題,
就應該會恢復所有的變化,以確保資料始終處於有效狀態
? Unit of Work 的使用會結合 Repository
Part.7 – Unit of Work 工作單元
掀起你的盖头来:Unit Of Work -工作单元 - 田园里的蟋蟀 - 博客园
http://mvc.tw
? Unit of Work 的使用會結合 Repository
Unit of Work
http://mvc.tw
Unit of Work
78
79
http://mvc.tw
修改 GenericRepository
修改 Service
http://mvc.tw
Service 內部的使用
82
http://mvc.tw
增加 UnityConfig.cs 的類別註冊
83
http://mvc.tw
? 如果 controller 的 action 方法需要使用多個
service 的操作時,現行方法還是讓一次的 request 發
動多次的 SaveChange 處理(多個工作單元)
? 修改為一次 request 的處理為一個工作單元
問題
84
http://mvc.tw
修改 Service
85
http://mvc.tw
修改 Service
86
UnitOfWorkFactory
UnitOfWorkAttribute
http://mvc.tw
使用 UnitOfWorkAttribute ActionFilter
89
http://mvc.tw
使用 UnitOfWorkFactory
90
http://mvc.tw
? 掀起你的盖头来:Unit Of Work-工作单元 - 田园里的蟋
蟀 - 博客园
? Thinking In Design Pattern——Unit Of Work(工作单
元)模式探索 - 木宛城主 - 博客园
? MVC3+EF4.1学习系列(八)-----利用Repository and
Unit of Work重构项目 - wlf - 博客园
? Entity Framework之深入分析 - 小城岁月 - 博客园
參考資料
92
Principle
http://mvc.tw
? Single Responsibility Principle 單一職責
? Open-Closed Principle 開放與關閉
? Liskov’s Substitution Principle 子類別取代
? Interface Segregation Principle 介面隔離
? Dependency Inversion Principle 相依性倒轉
SOLID – Robert C. Martin
93
http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
http://mvc.tw
? Single Responsibility Principle 單一職責
? Open-Closed Principle 開放與關閉
? Liskov’s Substitution Principle 子類別取代
? Interface Segregation Principle 介面隔離
? Dependency Inversion Principle 相依性倒轉
SOLD - 91之ASP.NET由淺入深 不負責講座
95
相關書籍
http://mvc.tw
? Patterns of Enterprise Application Architecture
企業應用架構模式
Martin Fowler 著
王懷民 周斌 譯
P.S. 2015年一月重印新版
相關書籍
96
http://mvc.tw
? Brownfield Application Development in .NET
軟體構築美學:當專案團隊遇上失控程式,最真實的解決方案
Kyle Baley, Donald Belcham 著
蔡煥麟 張簡才祿 譯
P.S. 已絕版(請找二手書)
相關書籍
http://huan-lin.blogspot.com/2010/10/brownfield-app-dev-published.html 97
http://mvc.tw
? Professional ASP.NET Design Patterns
Scott Millett
簡體版「ASP.NET 設計模式」
相關書籍
98
http://mvc.tw
? Software Architecture for Developers
程序員必讀之軟體架構
Simon Brown 著
劉鋼 譯
相關書籍
http://myst729.github.io/2014/software-architecture-for-developers-translators-
preface/
99
http://mvc.tw
? 大型網站技術架構 核心原理與案例分析
正體中文版:從車庫的舊PC到百萬台伺服器:巨型網站成長
從無到無限大,技術架構大揭祕
李智慧 著
相關書籍
100
http://mvc.tw
? .NET應用架構設計 原則、模式與實踐
汪洋 著
? 大話重構
范鋼 著
相關書籍
101
http://mvc.tw
? .NET 相依性注入 使用 Unity - 蔡煥麟 著
Dependency Injection 參考書籍
https://leanpub.com/dinet 102
http://mvc.tw
好活動需要支持
感謝 KKTIX 贊助 twMVC 活動報名平台
103
http://mvc.tw
好輸入法需要露出
104
http://www.iq-t.com/DOWNLOAD/software.asp
http://mvc.tw
好課程不要錯過
105http://skilltree.my/events/ebg
http://mvc.tw
好課程不要錯過
http://skilltree.my/events/fca
http://mvc.tw
好課程需要支持
107http://skilltree.my/events/gag
http://mvc.tw
好課程需要支持
108http://skilltree.my/events/gcf
謝謝各位
? 本投影片所包含的商標與文字皆屬原著作者所有。
? 本投影片使用的圖片皆從網路搜尋。
? 本著作係採用姓名標示-非商業性-相同方式分享 3.0 台灣授權。閱讀本授權條款,請到
http://creativecommons.org/licenses/by-nc-sa/3.0/tw/,或寫信至Creative Commons, 444 Castro
Street, Suite 900, Mountain View, California, 94041, USA.
h t t p : / / m v c . t w

More Related Content

What's hot (20)

こわくない Git
こわくない Gitこわくない Git
こわくない Git
Kota Saito
?
日本语テストメソッドについて
日本语テストメソッドについて日本语テストメソッドについて
日本语テストメソッドについて
kumake
?
CH02 API Governance
CH02 API Governance CH02 API Governance
CH02 API Governance
Rick Hwang
?
勉强か?趣味か?人生か?―プログラミングコンテストとは
勉强か?趣味か?人生か?―プログラミングコンテストとは勉强か?趣味か?人生か?―プログラミングコンテストとは
勉强か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
?
Dci vs aggregate_dddtw_2021-0.3-16-9
Dci vs aggregate_dddtw_2021-0.3-16-9Dci vs aggregate_dddtw_2021-0.3-16-9
Dci vs aggregate_dddtw_2021-0.3-16-9
teddysoft
?
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
?
颁#で速度を极めるいろは
颁#で速度を极めるいろは颁#で速度を极めるいろは
颁#で速度を极めるいろは
Core Concept Technologies
?
例外设计における大罪
例外设计における大罪例外设计における大罪
例外设计における大罪
Takuto Wada
?
Docker と ECS と WebSocket で最強のマルチプレイ?ゲームサーバを構築
Docker と ECS と WebSocket で最強のマルチプレイ?ゲームサーバを構築Docker と ECS と WebSocket で最強のマルチプレイ?ゲームサーバを構築
Docker と ECS と WebSocket で最強のマルチプレイ?ゲームサーバを構築
gree_tech
?
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko
?
骋辞肠辞苍2017:骋辞のロギング周りの考察
骋辞肠辞苍2017:骋辞のロギング周りの考察骋辞肠辞苍2017:骋辞のロギング周りの考察
骋辞肠辞苍2017:骋辞のロギング周りの考察
貴仁 大和屋
?
鲍苍颈迟测ネットワーク通信の基盘である「搁笔颁」について、意外と知られていないボトルネックと、その対策法
鲍苍颈迟测ネットワーク通信の基盘である「搁笔颁」について、意外と知られていないボトルネックと、その対策法鲍苍颈迟测ネットワーク通信の基盘である「搁笔颁」について、意外と知られていないボトルネックと、その対策法
鲍苍颈迟测ネットワーク通信の基盘である「搁笔颁」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
?
尝迟の作成と実践~入门编~
尝迟の作成と実践~入门编~尝迟の作成と実践~入门编~
尝迟の作成と実践~入门编~
Daiji Okuno
?
惭补驳颈肠翱苍颈辞苍~颁#でゲームサーバを开発しよう~
惭补驳颈肠翱苍颈辞苍~颁#でゲームサーバを开発しよう~惭补驳颈肠翱苍颈辞苍~颁#でゲームサーバを开発しよう~
惭补驳颈肠翱苍颈辞苍~颁#でゲームサーバを开発しよう~
torisoup
?
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
Unity Technologies Japan K.K.
?
コールバックと戦う话
コールバックと戦う话コールバックと戦う话
コールバックと戦う话
torisoup
?
自宅て?出来る!ケ?ームサーハ?の作り方
自宅て?出来る!ケ?ームサーハ?の作り方自宅て?出来る!ケ?ームサーハ?の作り方
自宅て?出来る!ケ?ームサーハ?の作り方
光晶 上原
?
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
Hiroko Tamagawa
?
十二项架构设计原则
十二项架构设计原则十二项架构设计原则
十二项架构设计原则
Philip Zheng
?
颁#の强み、或いは何故笔贬笔から乗り换えるのか
颁#の强み、或いは何故笔贬笔から乗り换えるのか颁#の强み、或いは何故笔贬笔から乗り换えるのか
颁#の强み、或いは何故笔贬笔から乗り换えるのか
Yoshifumi Kawai
?
こわくない Git
こわくない Gitこわくない Git
こわくない Git
Kota Saito
?
日本语テストメソッドについて
日本语テストメソッドについて日本语テストメソッドについて
日本语テストメソッドについて
kumake
?
CH02 API Governance
CH02 API Governance CH02 API Governance
CH02 API Governance
Rick Hwang
?
勉强か?趣味か?人生か?―プログラミングコンテストとは
勉强か?趣味か?人生か?―プログラミングコンテストとは勉强か?趣味か?人生か?―プログラミングコンテストとは
勉强か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
?
Dci vs aggregate_dddtw_2021-0.3-16-9
Dci vs aggregate_dddtw_2021-0.3-16-9Dci vs aggregate_dddtw_2021-0.3-16-9
Dci vs aggregate_dddtw_2021-0.3-16-9
teddysoft
?
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
?
例外设计における大罪
例外设计における大罪例外设计における大罪
例外设计における大罪
Takuto Wada
?
Docker と ECS と WebSocket で最強のマルチプレイ?ゲームサーバを構築
Docker と ECS と WebSocket で最強のマルチプレイ?ゲームサーバを構築Docker と ECS と WebSocket で最強のマルチプレイ?ゲームサーバを構築
Docker と ECS と WebSocket で最強のマルチプレイ?ゲームサーバを構築
gree_tech
?
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko
?
骋辞肠辞苍2017:骋辞のロギング周りの考察
骋辞肠辞苍2017:骋辞のロギング周りの考察骋辞肠辞苍2017:骋辞のロギング周りの考察
骋辞肠辞苍2017:骋辞のロギング周りの考察
貴仁 大和屋
?
鲍苍颈迟测ネットワーク通信の基盘である「搁笔颁」について、意外と知られていないボトルネックと、その対策法
鲍苍颈迟测ネットワーク通信の基盘である「搁笔颁」について、意外と知られていないボトルネックと、その対策法鲍苍颈迟测ネットワーク通信の基盘である「搁笔颁」について、意外と知られていないボトルネックと、その対策法
鲍苍颈迟测ネットワーク通信の基盘である「搁笔颁」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
?
尝迟の作成と実践~入门编~
尝迟の作成と実践~入门编~尝迟の作成と実践~入门编~
尝迟の作成と実践~入门编~
Daiji Okuno
?
惭补驳颈肠翱苍颈辞苍~颁#でゲームサーバを开発しよう~
惭补驳颈肠翱苍颈辞苍~颁#でゲームサーバを开発しよう~惭补驳颈肠翱苍颈辞苍~颁#でゲームサーバを开発しよう~
惭补驳颈肠翱苍颈辞苍~颁#でゲームサーバを开発しよう~
torisoup
?
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
Unity Technologies Japan K.K.
?
コールバックと戦う话
コールバックと戦う话コールバックと戦う话
コールバックと戦う话
torisoup
?
自宅て?出来る!ケ?ームサーハ?の作り方
自宅て?出来る!ケ?ームサーハ?の作り方自宅て?出来る!ケ?ームサーハ?の作り方
自宅て?出来る!ケ?ームサーハ?の作り方
光晶 上原
?
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
Hiroko Tamagawa
?
十二项架构设计原则
十二项架构设计原则十二项架构设计原则
十二项架构设计原则
Philip Zheng
?
颁#の强み、或いは何故笔贬笔から乗り换えるのか
颁#の强み、或いは何故笔贬笔から乗り换えるのか颁#の强み、或いは何故笔贬笔から乗り换えるのか
颁#の强み、或いは何故笔贬笔から乗り换えるのか
Yoshifumi Kawai
?

Similar to twMVC#18 | 專案分层架構 (20)

迟飞惭痴颁#31网站上线了然后呢
迟飞惭痴颁#31网站上线了然后呢迟飞惭痴颁#31网站上线了然后呢
迟飞惭痴颁#31网站上线了然后呢
twMVC
?
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC
?
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
twMVC
?
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2
twMVC
?
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
twMVC
?
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC
?
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC
?
twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC
?
輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14
twMVC
?
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
twMVC
?
一个微信专案从0到000的效能调教
一个微信专案从0到000的效能调教一个微信专案从0到000的效能调教
一个微信专案从0到000的效能调教
Bruce Chen
?
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
Wade Huang
?
ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10
twMVC
?
twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC
?
twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC
?
twMVC#31沒有 hdd 的網站重構 webform to mvc
twMVC#31沒有 hdd 的網站重構 webform to mvctwMVC#31沒有 hdd 的網站重構 webform to mvc
twMVC#31沒有 hdd 的網站重構 webform to mvc
twMVC
?
Silverlight 2.0 完全新手學堂,基礎入門 10 大招
Silverlight 2.0 完全新手學堂,基礎入門 10 大招Silverlight 2.0 完全新手學堂,基礎入門 10 大招
Silverlight 2.0 完全新手學堂,基礎入門 10 大招
Chui-Wen Chiu
?
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)
wangjiaz
?
厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程
厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程
厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程
yiditushe
?
厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程
厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程
厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程
appollo0312
?
迟飞惭痴颁#31网站上线了然后呢
迟飞惭痴颁#31网站上线了然后呢迟飞惭痴颁#31网站上线了然后呢
迟飞惭痴颁#31网站上线了然后呢
twMVC
?
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC
?
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
twMVC
?
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2
twMVC
?
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
twMVC
?
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC
?
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC
?
twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC
?
輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14
twMVC
?
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
twMVC
?
一个微信专案从0到000的效能调教
一个微信专案从0到000的效能调教一个微信专案从0到000的效能调教
一个微信专案从0到000的效能调教
Bruce Chen
?
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
Wade Huang
?
ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10
twMVC
?
twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC
?
twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC
?
twMVC#31沒有 hdd 的網站重構 webform to mvc
twMVC#31沒有 hdd 的網站重構 webform to mvctwMVC#31沒有 hdd 的網站重構 webform to mvc
twMVC#31沒有 hdd 的網站重構 webform to mvc
twMVC
?
Silverlight 2.0 完全新手學堂,基礎入門 10 大招
Silverlight 2.0 完全新手學堂,基礎入門 10 大招Silverlight 2.0 完全新手學堂,基礎入門 10 大招
Silverlight 2.0 完全新手學堂,基礎入門 10 大招
Chui-Wen Chiu
?
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)
wangjiaz
?
厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程
厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程
厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程
yiditushe
?
厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程
厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程
厂迟谤耻迟蝉+厂辫谤颈苍驳+贬颈产别谤苍补迟别整合教程
appollo0312
?

More from twMVC (20)

twMVC#51 以平台工程重新思考系統設計 - 以 Batch System 為例封面
twMVC#51 以平台工程重新思考系統設計 - 以 Batch System 為例封面twMVC#51 以平台工程重新思考系統設計 - 以 Batch System 為例封面
twMVC#51 以平台工程重新思考系統設計 - 以 Batch System 為例封面
twMVC
?
twMVC#51-GitHub Copilot 徹底改變開發模式,探索 AI 驅動的智慧程式碼協作
twMVC#51-GitHub Copilot 徹底改變開發模式,探索 AI 驅動的智慧程式碼協作twMVC#51-GitHub Copilot 徹底改變開發模式,探索 AI 驅動的智慧程式碼協作
twMVC#51-GitHub Copilot 徹底改變開發模式,探索 AI 驅動的智慧程式碼協作
twMVC
?
twMVC#50 微服務上線後的救贖
twMVC#50 微服務上線後的救贖twMVC#50 微服務上線後的救贖
twMVC#50 微服務上線後的救贖
twMVC
?
twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事
twMVC
?
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC
?
.NET 7 家族新成員: Microsoft Orleans v7
.NET 7 家族新成員:Microsoft Orleans v7.NET 7 家族新成員:Microsoft Orleans v7
.NET 7 家族新成員: Microsoft Orleans v7
twMVC
?
twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC
?
twMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwrighttwMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwright
twMVC
?
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC
?
twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解
twMVC
?
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARP
twMVC
?
twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹
twMVC
?
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC
?
twMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart FactorytwMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart Factory
twMVC
?
twMVC#42 Windows容器導入由0到1
twMVC#42 Windows容器導入由0到1twMVC#42 Windows容器導入由0到1
twMVC#42 Windows容器導入由0到1
twMVC
?
twMVC#41 hololens2 MR
twMVC#41 hololens2 MRtwMVC#41 hololens2 MR
twMVC#41 hololens2 MR
twMVC
?
twMVC#41 The journey of source generator
twMVC#41 The journey of source generatortwMVC#41 The journey of source generator
twMVC#41 The journey of source generator
twMVC
?
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops) twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC
?
迟飞惭痴颁#36颁#的美丽与哀愁
迟飞惭痴颁#36颁#的美丽与哀愁迟飞惭痴颁#36颁#的美丽与哀愁
迟飞惭痴颁#36颁#的美丽与哀愁
twMVC
?
twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波
twMVC
?
twMVC#51 以平台工程重新思考系統設計 - 以 Batch System 為例封面
twMVC#51 以平台工程重新思考系統設計 - 以 Batch System 為例封面twMVC#51 以平台工程重新思考系統設計 - 以 Batch System 為例封面
twMVC#51 以平台工程重新思考系統設計 - 以 Batch System 為例封面
twMVC
?
twMVC#51-GitHub Copilot 徹底改變開發模式,探索 AI 驅動的智慧程式碼協作
twMVC#51-GitHub Copilot 徹底改變開發模式,探索 AI 驅動的智慧程式碼協作twMVC#51-GitHub Copilot 徹底改變開發模式,探索 AI 驅動的智慧程式碼協作
twMVC#51-GitHub Copilot 徹底改變開發模式,探索 AI 驅動的智慧程式碼協作
twMVC
?
twMVC#50 微服務上線後的救贖
twMVC#50 微服務上線後的救贖twMVC#50 微服務上線後的救贖
twMVC#50 微服務上線後的救贖
twMVC
?
twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事
twMVC
?
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC
?
.NET 7 家族新成員: Microsoft Orleans v7
.NET 7 家族新成員:Microsoft Orleans v7.NET 7 家族新成員:Microsoft Orleans v7
.NET 7 家族新成員: Microsoft Orleans v7
twMVC
?
twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC
?
twMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwrighttwMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwright
twMVC
?
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC
?
twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解
twMVC
?
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARP
twMVC
?
twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹
twMVC
?
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC
?
twMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart FactorytwMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart Factory
twMVC
?
twMVC#42 Windows容器導入由0到1
twMVC#42 Windows容器導入由0到1twMVC#42 Windows容器導入由0到1
twMVC#42 Windows容器導入由0到1
twMVC
?
twMVC#41 hololens2 MR
twMVC#41 hololens2 MRtwMVC#41 hololens2 MR
twMVC#41 hololens2 MR
twMVC
?
twMVC#41 The journey of source generator
twMVC#41 The journey of source generatortwMVC#41 The journey of source generator
twMVC#41 The journey of source generator
twMVC
?
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops) twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC
?
迟飞惭痴颁#36颁#的美丽与哀愁
迟飞惭痴颁#36颁#的美丽与哀愁迟飞惭痴颁#36颁#的美丽与哀愁
迟飞惭痴颁#36颁#的美丽与哀愁
twMVC
?
twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波
twMVC
?

twMVC#18 | 專案分层架構