Aditya Sapate’s Post

View profile for Aditya Sapate, graphic

Software Craftsperson

Here’s how I interpreted SOLID principles from Clean Architecture by Robert C. Martin (Uncle Bob) Single Responsibility Principle: - A module or class should be responsible for one and only one actor (a group of people who want the system to be changed in the same way). - Elements that tend to change for the same reasons should be grouped in the same package or module. - Set architectural boundaries by identifying the axis of change (potential areas or dimensions of a system where changes are most likely to occur over time, e.g., business rules, UI, external systems). Open/Closed Principle: The goal is to make systems easy to extend and minimize the impact of change. This can be achieved by separating things that change for different reasons (SRP) and using dependency inversion to isolate the change. Liskov Substitution Principle: LSP can and should be applied at the architecture level. A system should have reliable interfaces that are substitutable. A single violation of LSP can pollute the architecture of the system with complex mechanisms. Interface Segregation Principle: There shouldn't be a dependency on a module containing more than you need. This leads to unnecessary recompilations, redeployments, and failures you don't need. Dependency Inversion: Avoid dependency on concrete implementations of volatile and actively developing modules. Rather, rely on less volatile interfaces. #SOLID #SoftwareArchitecture #CleanArchitecture

To view or add a comment, sign in

Explore topics