Introduction to Sustainable Software Engineering
S.O.L.I.D Principles
- Single Responsibility Principle
- Open-Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
Design Patterns
Are solution templates for a wide range of recurring problems in software engineering. They can be classified into 3 types:
- Creational Patterns: They abstract the instantiation process. Thus a system that uses this pattern doesn’t need to know how it’s objects are created.
- Behavioural Patterns: Are concerned with algorithms and assignment of responsibilities between objects. This is done by establishing efficient communication between them.
- Structural Patterns: They are concerned with how classes and objects are composed to form larger structures.