My TypeScript Software Design & Architecture book just prelaunched! Check out solidbook.io.
Close

KHALIL STEMMLER

Currently
Spinning "Virgo's Maze" by Part Time
Reading "Patterns of Enterprise Application Architecture" by Martin Fowler

My book on Node.js / TypeScript software design and architecture just pre-launched 📕 (%33 off)!

SOLID: The Software Design & Architecture Handbook

Presale $24.99

Advanced TypeScript & Node.js best practices for large-scale applications. Learn to write flexible, maintainable software.


I create courses, books, and articles for aspiring developers on Enterprise Node.js, Domain-Driven Design and writing testable, flexible JavaScript.


recent articles

view all

The 6 Most Common Types of Logic in Large Applications [with Examples]
Sep 16th, 2019 / 12 min read
In this article, you'll learn about the Clean Architecture, why we should separate the concerns of large applications into layers,...
Why I Don't Use a DI Container | Node.js w/ TypeScript
Sep 16th, 2019 / 11 min read
Instead of a DI Container, I just package features by component and use logical naming conventions.
Dependency Injection & Inversion Explained | Node.js w/ TypeScript
Sep 11th, 2019 / 10 min read
Dependency Injection and Depedency Inversion are two related but commonly misused terms in software development. In this article, ...
Command Query Segregation | Object-Oriented Design Principles w/ TypeScript
Aug 29th, 2019 / 11 min read
CQS (Command-Query Segregation) is a design principle that states that a method is either a COMMAND that performs an action OR a Q...
How to Setup a TypeScript + Node.js Project
Aug 29th, 2019 / 10 min read
In this guide, we walk through the process of creating a TypeScript project from scratch with cold-reloading, and scripts for buil...
Functional Error Handling with Express.js and DDD | Enterprise Node.js + TypeScript
Aug 14th, 2019 / 16 min read
How to expressively represent (database, validation and unexpected) errors as domain concepts using functional programming concept...
An Introduction to Domain-Driven Design - DDD w/ TypeScript
Jul 30th, 2019 / 12 min read
Domain-Driven Design is the approach to software development which enables us to translate complex problem domains into rich, expr...
Where Do Domain Events Get Created? | Domain Driven Design w/ TypeScript
Jul 4th, 2019 / 5 min read
In this post, I explain how good ol' fashioned encapsulation + TypeScript getters and setters enable us to effectively create Doma...

My book on Node.js / TypeScript software design and architecture just pre-launched 📕 (%33 off)!

SOLID: The Software Design & Architecture Handbook

Presale $24.99



recently edited wikis

view all

The Dependency Rule
Updated Sep 17th, 2019 / 4 min read
A software architecture rule that specifies the relationship between layers, namely that an inner layer should never rely on anything from an outer layer.
Stable Abstraction Principle (SAP)
Updated Sep 15th, 2019 / 1 min read
The more stable a component is, the more abstract it should be