The team
Lazăr Mihnea
B.Eng. Automated Systems Engineering, Technical University of Cluj-Napoca
M.Eng. Medical Engineering, Technical University of Cluj-Napoca
Software Engineer, 4y experience
The team
Marieșan Bogdan
B.Eng. Automated Systems Engineering, Technical University of Cluj-Napoca
M.Eng. Applied Informatics in Complex Systems, Technical University of Cluj-Napoca
Senior Software Engineer, 7y experience
Course structure
What are design patterns
Design patterns deal with
Today’s agenda
SOLID principles of good object oriented design
SOLID
Robert C. Martin
Robert C. Martin first proposed the SOLID principles
Importance of SOLID principles
Principle 1: Single Principle Responsibility
A class or module should have one, and only one, reason to be changed, i.e. responsibility.
Single Principle Responsibility example
Separation of concern (SoC)
Separation of concern (SoC)
Separation of concern (SoC)
Principle 2: Open/Closed Principle
Principle 2: Open/Closed Principle
Principle 2: Open/Closed Principle
Principle 3: Liskov Substitution principle
Principle 3: Liskov Substitution principle
Principle 4: Interface Segregation principle
Principle 5: Dependency Inversion principle
Principle 5: Dependency Inversion principle
Principle 5: Dependency Inversion principle
Principle 5: Dependency Inversion principle
Principle 5: Dependency Inversion principle
Creational patterns
Creational patterns: Factory
Creational patterns: Factory
Creational patterns: Factory
Creational patterns: Abstract Factory
Creational patterns: Builder
Creational patterns: Builder
Creational patterns: Builder
Creational patterns: Builder
Creational patterns: Prototype
Creational patterns: Prototype
Creational patterns: Prototype
Creational patterns: Singleton
Creational patterns: Singleton
Creational patterns: Singleton
Thank you for your attention!