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
Changed Rules: Architectures with Lightweight S...
Search
Manfred Steyer
PRO
April 05, 2024
Programming
0
410
Changed Rules: Architectures with Lightweight Stores
Manfred Steyer
PRO
April 05, 2024
Tweet
Share
More Decks by Manfred Steyer
See All by Manfred Steyer
AI Assistants for Your Angular Solutions @ngVienna March 2026
manfredsteyer
PRO
0
11
AI Assistants for Your Angular Solutions
manfredsteyer
PRO
0
120
Nostalgia Meets Technology: Super Mario with TypeScript
manfredsteyer
PRO
0
69
Full Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
56
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
210
Beyond the Basics: Signal Forms
manfredsteyer
PRO
0
120
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
210
All About Angular‘s New Signal Forms
manfredsteyer
PRO
0
38
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
290
Other Decks in Programming
See All in Programming
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.5k
15年目のiOSアプリを1から作り直す技術
teakun
1
620
株式会社 Sun terras カンパニーデック
sunterras
0
2k
Claude Code Skill入門
mayahoney
0
140
文字コードの話
qnighy
44
17k
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
400
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
670
TROCCOで実現するkintone+BigQueryによるオペレーション改善
ssxota
0
170
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
320
SourceGeneratorのマーカー属性問題について
htkym
0
180
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
250
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
690
Featured
See All Featured
Everyday Curiosity
cassininazir
0
160
[SF Ruby Conf 2025] Rails X
palkan
2
820
My Coaching Mixtape
mlcsv
0
69
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
61
52k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
210
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Balancing Empowerment & Direction
lara
5
940
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
450
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
Transcript
AngularArchitects.io | @ManfredSteyer Changed Rules: Architectures with Lightweight Stores
"Krapfen"
None
None
Small Change => Huge Impact
What if we changed for a lightweight store?
How do Lightweight Stores Change Architecture Rules?
Stores Streamline Reactive Flow Component Lightweight Store method() Observables, Signals,
etc. sync/ async
Some Lightweight Stores … Akita Elf Pinia NGRX Signal Store
Agenda 1) Baseline Architecture 2) How Large Should a Store
be? 3) Where To Put The Store? 4) Global and/or Local State? 5) Preventing Cycles, Redundancies, and Inconsistencies
About me… Manfred Steyer, ANGULARarchitects.io (Remote) Angular Workshops and Consulting
Google Developer Expert for Angular Blog, Books, Articles, and Talks about Angular Manfred Steyer
Baseline Architecture
Stack NGRX Signal Store Angular
Booking Boarding 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 Smart Comp. Dumb Comp.
Sheriff: Boundaries on a per-folder basis Rainer Hahnekamp, AngularArchitects @softarc/eslint-plugin-sheriff
Demo
How Large Should it be?
Feature Sub- Feature
Where to put the Store?
Booking Boarding 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 Feature
Feature UI Data Util Redux Feature Slice
Feature UI Data Util Lightweight Stores Cmp Cmp Lightweight Stores
can live everywhere! Component vs. Module Exposed vs. Hidden
Global vs. Local State?
Global vs. Local FeatureStore DomainStore FeatureService UtilityStore
Demo
Cycles, Redundancies, and Inconsistencies
Let's think it through … • Layering • Prevent Stores
accessing each other • Redux DevTools
Free eBook (6th Edition) angularArchitects.io/ebook
Conclusion Lightweight Stores … … have the size of a
(sub-)feature … can live everywhere … can be orchestrated by a feature service … can leverage layering to prevent cycles … should use DevTools
"Krapfen"
ManfredSteyer AngularArchitects.io Slides & Examples