Övriga principer Flashcards
The Command-Query Separation Principle
en metod ska antingen ha sidoeffekter (en mutator) eller returnera ett värde (en accessor), inte båda
Law of Demeter
ett objekt ska bara kommunicera med sina närmaste grannar, det ska inte ha kännedom om det interna detaljerna i andra objekt
Composition Over Inheritance
använda sammansättning hellre än arv, detta för att öka flexibilitet genom att minska beroende (low coupling), lättare att underhålla och utöka
High Cohesion, Low Coupling
High Coupling: alla metoder i samma klass/modul ska jobba mot samma mål och hantera relaterade element
Low Coupling: olika klasser/moduler bör vara svagt beroende av varandra, påverkan i en klass ska ha minimal påverkan på en annan
Separation of Concern
dela upp ett program i komponenter eller moduler där varje har ett specifikt ansvar eller uppgift
systematiskt användande av abstraktion
Defensive Programming
designfilosofi för att förebygga felaktig användning av kod