Eduardo Aparicio Cardenesโ€™ Post

View profile for Eduardo Aparicio Cardenes, graphic

Staff Engineer (Frontend) at OakNorth Bank - Mentor - Blogger - ex-Taboola, ex-zalando

Great infographic to describe SOLID. it has been a great refresher for my own knowledge. Thanks for sharing. Personally, the S is the one i used the most, what about you? Do you actively use it within your job? #techleadership #softwaredevelopment

View profile for Behzad Dara, graphic

Technical Lead .NET | Software Engineer | SQL Server Developer | Looking for new opportunities

๐Ÿ’ฅ ๐’๐Ž๐‹๐ˆ๐ƒ โžก ๐’ - ๐’๐ข๐ง๐ ๐ฅ๐ž ๐‘๐ž๐ฌ๐ฉ๐จ๐ง๐ฌ๐ข๐›๐ข๐ฅ๐ข๐ญ๐ฒ ๐๐ซ๐ข๐ง๐œ๐ข๐ฉ๐ฅ๐ž (๐’๐‘๐): Each class should have a single responsibility, and that responsibility should be entirely encapsulated by the class. This makes code more modular and easier to understand. โžก ๐Ž - ๐Ž๐ฉ๐ž๐ง/๐‚๐ฅ๐จ๐ฌ๐ž๐ ๐๐ซ๐ข๐ง๐œ๐ข๐ฉ๐ฅ๐ž (๐Ž๐‚๐): Software entities (classes, modules, functions) should be open for extension but closed for modification. This encourages the use of interfaces and abstract classes, facilitating future enhancements without altering existing code. โžก ๐‹ - ๐‹๐ข๐ฌ๐ค๐จ๐ฏ ๐’๐ฎ๐›๐ฌ๐ญ๐ข๐ญ๐ฎ๐ญ๐ข๐จ๐ง ๐๐ซ๐ข๐ง๐œ๐ข๐ฉ๐ฅ๐ž (๐‹๐’๐): Subtypes must be substitutable for their base types without altering the correctness of the program. This ensures that derived classes can be used interchangeably with their base classes. โžก ๐ˆ - ๐ˆ๐ง๐ญ๐ž๐ซ๐Ÿ๐š๐œ๐ž ๐’๐ž๐ ๐ซ๐ž๐ ๐š๐ญ๐ข๐จ๐ง ๐๐ซ๐ข๐ง๐œ๐ข๐ฉ๐ฅ๐ž (๐ˆ๐’๐): Clients should not be forced to depend on interfaces they do not use. It's about creating specific interfaces tailored to the needs of the clients to avoid unnecessary dependencies. โžก ๐ƒ - ๐ƒ๐ž๐ฉ๐ž๐ง๐๐ž๐ง๐œ๐ฒ ๐ˆ๐ง๐ฏ๐ž๐ซ๐ฌ๐ข๐จ๐ง ๐๐ซ๐ข๐ง๐œ๐ข๐ฉ๐ฅ๐ž (๐ƒ๐ˆ๐): High-level modules should not depend on low-level modules; both should depend on abstractions. Abstractions should not depend on details; details should depend on abstractions. This promotes flexibility and ease of maintenance. โ™ป๏ธ Repost if you find it intriguing. ๐Ÿ”ฅ Follow Behzad Dara for more .NET tips. #dotnet #aspnetcore #csharp #solid

  • No alternative text description for this image

To view or add a comment, sign in

Explore topics