#engineering #oop #product #platform
idea
There are three types of extensibility:
- Vertical, that extend the type hierarchy. In OOP, that corresponds to adding to the existing types. In product, that's extending the feature set.
- Horizontal, that extends the spectrum of operations available on a type. In OOP, that's adding methods to a specific type. In product, that's adding components to a certain feature.
- Behavioral, that extends or modifies the original behavior of operations. In OOP, that's modifying the behavior of a feature. In product, that's modifying a specific feature.
links
[[composition-over-extension]]