Angular For Architects
Angular For Architects
@ManfredSteyer
Experience
What do we
need for a good
architecture?
BEST PRACTICES PATTERNS METHODOLOGY
@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)
2)
DDD in a
Monorepos
Nutshell
3)
Monorepos
& DDD
@ManfredSteyer
Manfred Steyer
About me…
Manfred Steyer, ANGULARarchitects.io
@ManfredSteyer
1) DDD in a nutshell
@ManfredSteyer
Domain Driven Design
Design Patterns
Decomposing a System
& Practices
e-Procurement System
@ManfredSteyer
Example
Catalog Approval
Sub-Domains
Ordering Specification
@ManfredSteyer
2) Monorepos
@ManfredSteyer
Workspace
@ManfredSteyer
Advantages
No version conflicts
@ManfredSteyer
Creating a Workspace
npm install -g @angular/cli
ng new workspace
cd workspace
@ManfredSteyer
Moving back and forth
Npm Registry
@ManfredSteyer
@ManfredSteyer https://nrwl.io/nx
Visualize
Module
Structure
@ManfredSteyer
Creating a Workspace
npm install -g @angular/cli
cd workspace
@ManfredSteyer
3) Nx Monorepos and
Strategic Design
@ManfredSteyer
Shared Kernel (if really needed) & other libs
Smart
Comp. Catalog Ordering Shared
Dumb Comp.
Feature Feature Feature Feature Feature
UI UI UI UI UI UI UI UI UI
UI UI UI UI UI UI UI UI UI
@ManfredSteyer @ManfredSteyer
Catalog Ordering Shared
UI UI UI UI UI UI UI UI UI
@ManfredSteyer @ManfredSteyer
Isolate your domain! Use case specific facades,
state management (optional)
Infrastructure
e. g. data access
@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
DEMO
@ManfredSteyer
Free eBook
https://ANGULARarchitects.io/book
@ManfredSteyer
Summary
• Slicing into sub-domains
• Slicing into layers
• Finegrained libraries
• Enforce restrictions
@ManfredSteyer
Contact and Downloads
[web] ANGULARarchitects.io
[twitter] ManfredSteyer
http://softwarearchitekt.at/workshops
d
@ManfredSteyer