Introduction to Sustainable Software Engineering

S.O.L.I.D Principles

  1. Single Responsibility Principle
  2. Open-Closed Principle
  3. Liskov Substitution Principle
  4. Interface Segregation Principle
  5. 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:

  1. 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.
  2. Behavioural Patterns: Are concerned with algorithms and assignment of responsibilities between objects. This is done by establishing efficient communication between them.
  3. Structural Patterns: They are concerned with how classes and objects are composed to form larger structures.

Other