software master at the intersection of technology, science and art



design principles

Domain Drive Design (DDD) is an approach to developing software for complex needs by deeply connecting the implementation to an evolving model of the core business concepts. Its premise is: Place the project's primary focus on the core domain and domain logic. The software solves an issue in the business domain and teh business domain must be able to understand the design,

This section discusses the SOLID principles in software design

  • Single Responsibility
  • Open-Closed
  • Liskov Substitution
  • Interface Segregation
  • Dependancy Inversion

These principles shows us how to arrange bricks into walls and rooms.