Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Maintainable Architectures with Angular, Monore...
Search
Manfred Steyer
PRO
May 09, 2019
Programming
0
540
Maintainable Architectures with Angular, Monorepos and Strategic DDD
Manfred Steyer
PRO
May 09, 2019
Tweet
Share
More Decks by Manfred Steyer
See All by Manfred Steyer
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
75
Beyond the Basics: Signal Forms
manfredsteyer
PRO
0
58
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
130
All About Angular‘s New Signal Forms
manfredsteyer
PRO
0
28
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
260
Your Architecture as a Crime Scene?Forensic Analysis
manfredsteyer
PRO
0
180
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
270
Your Architecture as a Crime Scene:Forensic Analysis
manfredsteyer
PRO
0
130
Reactive Thinking with Signals and the new Resource API
manfredsteyer
PRO
0
250
Other Decks in Programming
See All in Programming
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
140
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
690
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
500
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
120
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.4k
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
200
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
170
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
AgentCoreとHuman in the Loop
har1101
5
240
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
110
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
For a Future-Friendly Web
brad_frost
182
10k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
450
Scaling GitHub
holman
464
140k
Designing for Timeless Needs
cassininazir
0
130
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Bash Introduction
62gerente
615
210k
Building AI with AI
inesmontani
PRO
1
700
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
780
Transcript
@ManfredSteyer Maintainable Architectures with Angular, Monorepos and Strategic DDD Manfred
Steyer SOFTWAREarchitekt.at ManfredSteyer
@ManfredSteyer "Where does an Architecture come from?" Architecture Requirements
@ManfredSteyer "Where does an Architecture come from?" Architecture Requirements Here
happens a Wonder
@ManfredSteyer Ingredients for an Architecture Experience
@ManfredSteyer Transporting Experience for Architectures BEST PRACTICES PATTERNS METHODOLOGY
@ManfredSteyer Domain Driven Design
@ManfredSteyer How can we improve our frontend architectures with ideas
from DDD?
@ManfredSteyer How can we improve our frontend architectures with ideas
from DDD?
@ManfredSteyer Contents 1) Strategic Design 101 2) Angular Monorepos 3)
Nx Monorepos and DDD 4) DEMO
@ManfredSteyer About me… • Manfred Steyer SOFTWAREarchitekt.at • Angular Trainings
and Consultancy • Google Developer Expert (GDE) • Trusted Collaborator in the Angular Team Page ▪ 11 Manfred Steyer Public: Vienna, München, Zürich In-House: everywhere http://softwarearchitekt.at/workshops
@ManfredSteyer Strategic Design in a nutshell
@ManfredSteyer Domain Driven Design Strategic Design Tactical Design Decomposing a
System Practices & Patterns
@ManfredSteyer Domain Driven Design Strategic Design Tactical Design Decomposing a
System Practices & Patterns
@ManfredSteyer This is what Strategic DDD prevents
@ManfredSteyer Example e-Procurement System
@ManfredSteyer Catalog Approval Specification Ordering Example Sub-Domains
@ManfredSteyer Catalog Approval Employee Manager
@ManfredSteyer Request Product Specify Order Approve Order Send Order Request
Budget Approve Budget Budget Hierarchy Manager Manager Employee Expert Manager Buying Agent Product
@ManfredSteyer Catalog Approval
@ManfredSteyer Catalog Approval Specification Ordering Context Map
@ManfredSteyer Catalog Approval API
@ManfredSteyer Catalog Ordering API ERP ACR
@ManfredSteyer Catalog Approval Calc VAT Calc VAT Seperate Ways
@ManfredSteyer Lots of additional approaches for cross-domain communication …
@ManfredSteyer 2) Monorepos
@ManfredSteyer Workspace
@ManfredSteyer Creating a Workspace npm install -g @angular/cli ng new
workspace cd workspace ng generate app my-app ng generate lib my-lib ng serve --project my-app ng build --project my-app
@ManfredSteyer Advantages Everyone uses the latest versions No version conflicts
No burden with distributing libs Creating new libs: Adding folder Experience: Successfully used at Google, Facebook, …
@ManfredSteyer Moving back and forth Npm Registry
@ManfredSteyer Tooling & Generator https://nrwl.io/nx
@ManfredSteyer Visualize Module Structure
@ManfredSteyer Creating a Workspace npm install -g @angular/cli ng new
workspace cd workspace ng generate app my-app ng generate lib my-lib ng serve --project my-app ng build --project my-app
@ManfredSteyer Creating a Workspace npm install -g @angular/cli npm init
nx-workspace myworkspace cd workspace ng generate app my-app ng generate lib my-lib ng serve --project my-app ng build --project my-app
@ManfredSteyer Nx Monorepos and Strategic Design
@ManfredSteyer Catalog Ordering Shared Feature Feature Feature Feature Feature UI
UI UI UI UI UI UI UI UI Data Data Data Data Data Data Util Util Util Util Util Util Enterprise Monorepo Patterns, Nrwl 2018: https://tinyurl.com/y2jjxld7 @ManfredSteyer
@ManfredSteyer Catalog Ordering Shared Feature API Feature Feature Feature Feature
UI UI UI UI UI UI UI UI UI Data Data Data Data Data Data Util Util Util Util Util Util @ManfredSteyer
@ManfredSteyer Finegrained Libraries • Unit of recompilation and retesting •
Unit of retesting • Access restrictions • Prevent Cycles • Information Hiding • Future replacement for NgModules?
@ManfredSteyer DEMO
@ManfredSteyer Summary Self-contained sub domains Monorepo for slicing w/ libs
Non-strict layering Finegrained libraries Enforce restrictions
@ManfredSteyer Beware the Frankenstein- Monster!!
@ManfredSteyer Contact and Downloads [mail]
[email protected]
[web] SOFTWAREarchitekt.at [twitter] ManfredSteyer
d Slides & Examples Public: Frankfurt, Vienna, München, Stuttgart In-House: everywhere http://softwarearchitekt.at/workshops