Useful Links
Computer Science
Programming
UML and Object-Oriented Design
1. Foundations of Object-Oriented Thinking
2. Introduction to UML (Unified Modeling Language)
3. Structural UML Diagrams
4. Behavioral UML Diagrams
5. Object-Oriented Design Principles
6. Design Patterns in UML
7. Object-Oriented Analysis and Design Process
8. UML Tools and Methodologies
9. Advanced UML Concepts
Object-Oriented Design Principles
SOLID Principles
Single Responsibility Principle
Definition and Rationale
Identifying Responsibilities
Cohesion and Coupling
Refactoring for SRP
Benefits and Trade-offs
Open/Closed Principle
Definition and Rationale
Extension vs. Modification
Use of Abstraction
Strategy Pattern Application
Benefits and Trade-offs
Liskov Substitution Principle
Definition and Rationale
Behavioral Subtyping
Contract Compliance
Common Violations
Design by Contract
Interface Segregation Principle
Definition and Rationale
Client-Specific Interfaces
Avoiding Fat Interfaces
Interface Decomposition
Benefits and Trade-offs
Dependency Inversion Principle
Definition and Rationale
High-Level vs. Low-Level Modules
Dependency Injection
Inversion of Control
Benefits and Trade-offs
Additional Design Principles
Don't Repeat Yourself
Law of Demeter
Composition over Inheritance
Program to Interfaces
Favor Object Composition
Previous
4. Behavioral UML Diagrams
Go to top
Next
6. Design Patterns in UML