Skip to main content


Showing posts from September, 2020

S.O.L.I.D Principles

 This week on my CS Journey, I want to talk about the SOLID design principles. I am sure that you have heard the term many times, however, let us look at the principles in detail. The reason I picked this topic is as a Computer science major student we write many programs and having a strong principle will enable us to write effective object-oriented code.  To start of SOLID is an acronym where each letter represents a software design principle.  S - for Single Responsibility Principle O - for Open/Closed Principle L - for Liskov Substitution Principle I - for Interface Segregation Principle D - for Dependency Inversion Principle   Each principle overlaps here and there. The Single Responsibility Principle states that in a well-designed application, each class should have only one single responsibility. essentially meaning a class should only have one job. I think this is a very good concept to use because when you are working with complex programs and the class has more than one respo