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
Sustainable Angular Architectures With Nx and S...
Search
Manfred Steyer
PRO
July 02, 2020
Programming
0
1k
Sustainable Angular Architectures With Nx and Strategic Design
Manfred Steyer
PRO
July 02, 2020
Tweet
Share
More Decks by Manfred Steyer
See All by Manfred Steyer
Rethinking Angular: The Future with Signals and the New Resource API @iJS Munich 2025
manfredsteyer
PRO
0
37
Reactivity, Reimagined: Angular Signals at Every Layer
manfredsteyer
PRO
0
53
Angular Architecture Workshop @AngularDays in Berlin 2025
manfredsteyer
PRO
0
45
Migration to Signals, Resource API, and NgRx Signal Store
manfredsteyer
PRO
0
120
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
110
All About Angular's New Signal Forms
manfredsteyer
PRO
0
210
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
220
Signals & Resource API in Angular: 3 Effective Rules for Your Architecture @BASTA 2025 in Mainz
manfredsteyer
PRO
0
150
Your Architecture as a Crime SceneForensic Analysis @BASTA! 2025 in Mainz, Germany
manfredsteyer
PRO
0
78
Other Decks in Programming
See All in Programming
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
820
オンデバイスAIとXcode
ryodeveloper
0
170
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
200
AI時代に必須!状況言語化スキル / ai-context-verbalization
minodriven
2
110
CSC509 Lecture 08
javiergs
PRO
0
260
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.5k
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
310
Google Opalで使える37のライブラリ
mickey_kubo
3
150
CSC305 Lecture 09
javiergs
PRO
0
310
品質ワークショップをやってみた
nealle
0
640
Towards Transactional Buffering of CDC Events @ Flink Forward 2025 Barcelona Spain
hpgrahsl
0
120
SODA - FACT BOOK(JP)
sodainc
1
8.9k
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Bash Introduction
62gerente
615
210k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Documentation Writing (for coders)
carmenintech
75
5.1k
The Cult of Friendly URLs
andyhume
79
6.6k
How to Ace a Technical Interview
jacobian
280
24k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
620
Code Review Best Practice
trishagee
72
19k
Balancing Empowerment & Direction
lara
5
700
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Transcript
@ManfredSteyer s ManfredSteyer Manfred Steyer, ANGULARarchitects.io Sustainable Angular Architectures With
Nx and Strategic Design
What do we need for a good architecture? Experience
@ManfredSteyer Sharing Experience for Architectures BEST PRACTICES PATTERNS METHODOLOGY
@ManfredSteyer Domain Driven Design
@ManfredSteyer How to create sustainable Angular architectures with ideas from
DDD? ?
@ManfredSteyer How to create sustainable frontend architectures with ideas from
DDD? ?
@ManfredSteyer Contents 1) DDD in a Nutshell 2) Monorepos 3)
Monorepos & DDD
@ManfredSteyer About me… Manfred Steyer, ANGULARarchitects.io Angular Trainings and Consultancy
Frankfurt, Munich, Vienna, Remote In-House: everywhere https://ANGULARarchitects.at/workshops Google Developer Expert for Angular Trusted Collaborator in the Angular Team Manfred Steyer
@ManfredSteyer 1) DDD in a nutshell
@ManfredSteyer Domain Driven Design Strategic Design Tactical Design Decomposing a
System Design Patterns & Practices
@ManfredSteyer Domain Driven Design Strategic Design Tactical Design Decomposing a
System Design Patterns & Practices
@ManfredSteyer This is what Strategic DDD prevents
@ManfredSteyer Example e-Procurement System
@ManfredSteyer Catalog Approval Specification Ordering Example Sub-Domains
@ManfredSteyer Catalog Approval Specification Ordering Context Map
@ManfredSteyer Approval Specification Context Map Catalog Catalog Shared Kernel
@ManfredSteyer Catalog Approval API
@ManfredSteyer Lots of additional approaches for cross-domain communication …
@ManfredSteyer 2) Monorepos
@ManfredSteyer Workspace
@ManfredSteyer Advantages No version conflicts No burden with distributing libs
@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 Moving back and forth Npm Registry
@ManfredSteyer https://nrwl.io/nx
@ManfredSteyer Visualize Module Structure
@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 3) Nx Monorepos and Strategic Design
@ManfredSteyer Catalog Ordering Shared Feature Feature Feature Feature Feature UI
UI UI UI UI UI UI UI UI Domain Domain Domain Domain Domain Domain Util Util Util Util Util Util Enterprise Monorepo Patterns, Nrwl 2018: https://tinyurl.com/y2jjxld7 @ManfredSteyer Shared Kernel (if really needed) & other libs Smart Comp. Dumb Comp.
@ManfredSteyer Catalog Ordering Shared Feature API Feature Feature Feature Feature
UI UI UI UI UI UI UI UI UI Domain Domain Domain Domain Domain Domain Util Util Util Util Util Util @ManfredSteyer
@ManfredSteyer Catalog Ordering Shared Feature API Feature Feature Feature Feature
UI UI UI UI UI UI UI UI UI Domain Domain Domain Domain Domain Domain Util Util Util Util Util Util @ManfredSteyer
@ManfredSteyer Application Domain Model Infrastructure Isolate your domain! Domain Lib
e. g. data access Use case specific facades, state management (optional) Entities, biz logic
@ManfredSteyer Alternatives to layering • e. g. Hexagonal Architecture, Clean
Architecture • Anyway: We need to restrict access b/w libraries
@ManfredSteyer DEMO
@ManfredSteyer Finegrained Libraries • Unit of recompilation • Unit of
retesting • Access restrictions • Information Hiding • Alternative to NgModules (might become optional) • Ng g lib … easy
@ManfredSteyer Free eBook https://ANGULARarchitects.io/book
Summary • Slicing into sub-domains • Slicing into layers •
Finegrained libraries • Enforce restrictions
@ManfredSteyer
@ManfredSteyer Contact and Downloads [web] ANGULARarchitects.io [twitter] ManfredSteyer d Slides
& Examples http://softwarearchitekt.at/workshops