software-design

Dependency Injection Trade-offs

Most of the classes depend on some other classes to do some work for them. Since those other classes can have their own dependencies, the total number of dependencies (both direct and indirect) of a class can grow exponentially, which means our dependency graph can easily become quite large. In scenarios where dependency graphs are large, resolving dependencies can become a significant task and you should carefully decide: Should all ...

Cohesion Illustrated

Cohesion is considered important in software design. It is often mentioned how our classes, methods, libraries... should have a high cohesion. I will try to explain cohesion in an illustrative way and give you some of the indicators of high cohesion in software modules. ...

Subscribe to Newsletter

Subscribe