Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Maintainable Architectures with Angular, Monore...
Search
Manfred Steyer
PRO
May 09, 2019
Programming
540
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Maintainable Architectures with Angular, Monorepos and Strategic DDD
Manfred Steyer
PRO
May 09, 2019
More Decks by Manfred Steyer
See All by Manfred Steyer
Human in the Loop Beyond Approval: Toward True Collaboration @FrontMania 2026 in Utrecht
manfredsteyer
PRO
0
57
Agentic UI: Where the Agent meets the User @FrontMania 2026 in Utrecht
manfredsteyer
PRO
0
57
A2UI as an Architecture Question: Agentic UI Between AI Freedom and Control
manfredsteyer
PRO
0
92
AI-Ready Angular Architectures Architecture as Executable Contract
manfredsteyer
PRO
0
250
Nostalgia Meets Technology: Super Mario with TypeScript @BASTA 2026 in Mainz, Germany
manfredsteyer
PRO
0
49
Beyond Chatbots: Agentic UI with Open Standards @AGNTcon 2026 in Amsterdam
manfredsteyer
PRO
0
150
Next-Level Frontends: Agentic Web UIs Under the Hood
manfredsteyer
PRO
0
110
Agentic UI with Open Standards @ngGraz Sep 2026
manfredsteyer
PRO
0
120
Agentic UI with Open Standards @GDG Salzburg, Bgl & Prishtina
manfredsteyer
PRO
0
99
Other Decks in Programming
See All in Programming
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
370
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
260
カツオ、ご期待ください
suneo3476
0
180
AWSに止められる覚悟してますか?
morizo_1984
2
530
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
4.9k
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
780
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
350
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
170
The Rails Doctrine Decade
koic
2
570
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
950
Agents on Rails - Rails at Scale 2026
irinanazarova
0
540
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
150
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Believing is Seeing
oripsolob
1
240
Prompt Engineering for Job Search
mfonobong
0
510
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
New Earth Scene 8
popppiees
4
2.7k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
580
GitHub's CSS Performance
jonrohan
1033
470k
Mind Mapping
helmedeiros
1
400
Writing Fast Ruby
sferik
630
63k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
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