SOLID Flashcards
Single Responsibility Principle
en klass ska ha enbart ett ansvar och därmed enbart en anledning till förändring
Open Closed Principle
ett program bör vara öppen för förändring men stängd för modifikation
Liskov Substitution Principle
om en klass A är en subklass till klass B, så ska ett objekt av klass B kunna bytas ut mot ett objekt av klass A utan att det påverkar programmets korrekthet
The invariants of A must be the same as B or stronger
and for every method in B, the preconditions for that method in A must be the same as the preconditions in B or weaker
and the postconditions for the method in A must be the same as the postconditions in B or stronger.
Interface Segregation Principle
Stora interfaces bör delas upp i mindre delar så att ingen klass beror på metoder som den ej använder
Dependency Inversion Principle
högnivå moduler bör ej bero på lågnivå moduler, istället bör båda bero på abstraktioner såsom interfaces och abstrakta klasser