SOLID – Liscov Substitution

Objects in a program should be replaceable with instances of their sub-types without altering the correctness of that program Robert C. Martin “At the beginning, keep things simple and concrete – stick to that as long as possible/necessary.”  “Correct abstractions usually come after careful thinking and initial minimal, concrete implementation”  “Incorrect abstractions usually come from […]

Continue reading


 SOLID – Open/Closed

Def. Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification Robert C. Martin In object-oriented programming, the open/closed principle states that “software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification” Usually, the first impression that comes out about this principle is confusion: it […]

Continue reading


 Psychology of code readability

https://medium.com/@egonelbre/psychology-of-code-readability-d23b1ff1258a – we remember 4+/-1 item in our short memory, then they fade away. – in our brain facts/knowledge pieces are grouped, chunked and CHUNKS are linked. – we process input with our focus/locus of attention (one thing at the same time in the same space) – focus/locus is called CONTEXT – MENTAL MODEL is […]

Continue reading


 Specification Pattern – Essentials

Specification pattern is DDD specific way for buildingblocks of business logic on top of domain entities.They are defined as predicates/filters for entities.They can be combined in more complex logic.You can benefit from implementation specificsas some technologies provide many enhancements. To correctly define specification pattern and find an applicable area for it, we should describe 4 […]

Continue reading