-
Key principles
- OOP/Polymorphism is one of the key principles
- What is a OOP/Class
- Why you should use OOP/Composition instead of inheritance
- Always encapsulate (OOP/Encapsulation) your business logic
- Methods/functions are contracts (OOP/Contracts)
-
Quotes
OO is the ability, through the use of polymorphism, to gain absolute control over every source code dependency in the system. It allows the architect to create a plugin architecture, in which modules that contain high-level policies are independent of modules that contain low-level details. The low-level details are relegated to plugin modules that can be deployed and developed independently from the modules that contain high-level policies. (– )
OOP
Links to this note
- Microservices
- SOLID
- hide internal state (same as encapsulation in [OOP](/t/oop/))
- the word "class" doesn't mean that these principles are only applicable to [OOP](/t/oop/) software