Khalil Stemmler
khalilstemmler.com · Personal blog · on HN since 2017
Khalil Stemmler writes about software design and architecture, domain-driven design, clean Node.js and TypeScript.
What HN saysHN commenters point to him for domain-driven design in TypeScript and for command-query separation, and one reports a broken link on his site.
16HN people shared it
5linked it in comments
69stories submitted
856story points
4 months agolast shared
2017people per year2026
Most-shared posts
- 1How to Learn Software Design and Architecture4 people · 8 points · first shared 2019 · discussion on HN
- 2Maintain a Single Layer of Abstraction at a Time – OO Design Principles2 people · 4 points · first shared 2021 · discussion on HN
- 3Common Types of Logic in Large Applications [with Examples]2 people · 4 points · first shared 2019 · discussion on HN
- 4Clean Node.js Architecture2 people · 3 points · first shared 2019 · discussion on HN
- 5Make Illegal States Unrepresentable – Domain-Driven Design with TypeScript2 people · 3 points · first shared 2019 · discussion on HN
- 6I Don't Use a DI Container2 people · 3 points · first shared 2019 · discussion on HN
- 7When to Use TypeScript – A Detailed Guide Through Common Scenarios1 people · 331 points · first shared 2019 · 240 comments on HN
- 8Solid Principles: A Software Developer’s Framework to Robust, Maintainable Code1 people · 300 points · first shared 2019 · 167 comments on HN
- 9Value Objects – DDD with TypeScript1 people · 45 points · first shared 2019 · 17 comments on HN
- 10An Introduction to Domain-Driven Design – DDD with TypeScript1 people · 19 points · first shared 2019 · 3 comments on HN
- 11Clean and Consistent Express.js Controllers1 people · 14 points · first shared 2019 · 6 comments on HN
- 12How to Prevent Your DDD App from Blowing Up by Implementing CQS/CQRS1 people · 9 points · first shared 2019 · 3 comments on HN
- 13Why Event-Based Systems?1 people · 8 points · first shared 2019 · 1 comments on HN
- 14How to Design and Persist Aggregates – Domain-Driven Design with TypeScript1 people · 6 points · first shared 2019 · 1 comments on HN
- 15Agentic Coding Is a Trap1 people · 5 points · first shared 2026 · discussion on HN
What HN people wrote when they linked it
scns · 2020-04-27
Khalil Stemmler has loads of articles about DDD in Typescript on his site: https://khalilstemmler.com/
He was writing a book about it too, which seems to be done: https://solidbook.io/
Not affiliated.
desultory · 2023-12-28
Nice article and the examples are much appreciated. I've read about this concept under the terms CQS and CQRS before.
1. https://khalilstemmler.com/articles/oop-design-principles/command-quer…
2. https://martinfowler.com/bliki/CQRS.html
mrsareen · 2023-01-22
xupybd · 2022-10-05
I think people underestimate how powerful a tool strong types can be. If you make illegal states impossible in the type system you get a class of tests effectively enforced by the compiler.
https://fsharpforfunandprofit.com/posts/designing-with-types-making-il…
https://khalilstemmler.com/articles/typescript-domain-driven-design/ma…
https://erszcz.medium.com/make-illegal-states-unrepresentable-but-how-…
will_pseudonym · 2019-04-07
FYI, the link to "concrete classes" is incorrectly linking to https://khalilstemmler.com/articles/when-to-use-typescript-guide/wiki/…
I assume the correct link should be pointing to https://khalilstemmler.com/wiki/concrete-class/