Object-Oriented Programming

Lancez-Vous. C'est gratuit
ou s'inscrire avec votre adresse e-mail
Object-Oriented Programming par Mind Map: Object-Oriented Programming

1. Good Practices

1.1. strong cohesion

1.2. loosely coupled

1.3. arrange class members

1.4. small classes

1.5. low level of complexity

1.6. setter validation

1.7. proper naming, self explained code

2. Principles

2.1. SOLID

2.1.1. Single Responsibility

2.1.2. Open/Closed

2.1.3. Liskov Substitution

2.1.4. Interface Segregation

2.1.5. Dependency Inversion

2.2. Inversion of Control

2.2.1. Dependency Injection

2.3. DRY

2.4. KISS

2.5. YAGNI

2.6. Separation of Concerns

3. Design Patterns

3.1. Structural Design Patterns

3.1.1. Adapter Pattern

3.1.2. Composite Pattern

3.1.3. Proxy Pattern

3.1.4. Flyweight Pattern

3.1.5. Facade Pattern

3.1.6. Bridge Pattern

3.1.7. Decorator Pattern

3.2. Creational Design Patterns

3.2.1. Singleton Pattern

3.2.2. Factory Pattern

3.2.3. Abstract Factory Pattern

3.2.4. Prototype Pattern

3.2.5. Builder Pattern

3.3. Behavioral Design Patterns

3.3.1. Template Method Pattern

3.3.2. Mediator Pattern

3.3.3. Chain of Responsibility Pattern

3.3.4. Observer Pattern

3.3.5. Strategy Pattern

3.3.6. Command Pattern

3.3.7. State Pattern

3.3.8. Visitor Pattern

3.3.9. Interpreter Pattern

3.3.10. Iterator Pattern

3.3.11. Memento Pattern

4. Core Concepts

4.1. Encapsulation

4.1.1. access modifiers

4.1.1.1. private

4.1.1.2. protected

4.1.1.3. public

4.1.1.4. no modifier

4.2. Polymorphism

4.2.1. final methods and fields

4.2.2. method overloading

4.2.3. method overriding (in class hierarchy )

4.3. Abstraction

4.3.1. abstract classes

4.3.2. interfaces

4.4. Inheritance

4.4.1. composition

4.4.2. aggregation

5. Benefits

5.1. high level of abstraction

5.2. good reusability

5.3. easy maintanance

5.4. good modularity

5.5. scalability