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
530
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
Rethinking Angular: The Future with Signals and the New Resource API @iJS Munich 2025
manfredsteyer
PRO
0
30
Reactivity, Reimagined: Angular Signals at Every Layer
manfredsteyer
PRO
0
52
Angular Architecture Workshop @AngularDays in Berlin 2025
manfredsteyer
PRO
0
38
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
140
Your Architecture as a Crime SceneForensic Analysis @BASTA! 2025 in Mainz, Germany
manfredsteyer
PRO
0
78
Other Decks in Programming
See All in Programming
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
140
マンガアプリViewerの大画面対応を考える
kk__777
0
260
CSC305 Lecture 08
javiergs
PRO
0
280
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
1.5k
チームの境界をブチ抜いていけ
tokai235
0
230
Go言語はstack overflowの夢を見るか?
logica0419
0
610
AI Agent 時代的開發者生存指南
eddie
4
2.1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
650
SODA - FACT BOOK(JP)
sodainc
1
8.8k
NIKKEI Tech Talk#38
cipepser
0
250
Leading Effective Engineering Teams in the AI Era
addyosmani
7
640
EMこそClaude Codeでコード調査しよう
shibayu36
0
430
Featured
See All Featured
A designer walks into a library…
pauljervisheath
209
24k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Statistics for Hackers
jakevdp
799
220k
Become a Pro
speakerdeck
PRO
29
5.6k
A Tale of Four Properties
chriscoyier
161
23k
KATA
mclloyd
PRO
32
15k
Writing Fast Ruby
sferik
630
62k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Faster Mobile Websites
deanohume
310
31k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
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