

1 Introduction
1.1 Introduction
2 The divide and conquer principle
2.1 No divide and conquer. Application: Smart energy system
2.2 With Divide and Conquer application
3 Cohesion
3.1 Functional cohesion
3.2 Layer cohesion
3.3 Communication cohesion
3.4 Sequential cohesion
3.5 Procedural cohesion
3.6 Temporal cohesion
3.7 Utility cohesion
4 Coupling
4.1 Content coupling
4.2 Stamp coupling
4.3 Routine coupling
4.4 Type use coupling
4.5 Import / inclusion coupling
5 Reusability
5.1 Analysis
6 The SOLID principles
6.1 The Single Responsibility Principle
6.2 Open Closed principle
6.3 The Liskov Substitution Principle
6.4 The Interface Segregation Principle
6.5 Implementation with and w/o Interface
6.6 Dependency Inversion Principle
7 Conclusions
7.1 Conclusions