Adaptive Code Via C#: Agile Coding With Design ... -
: Encapsulate algorithms so they can be swapped at runtime.
: Make incompatible interfaces work together. If you'd like to dive deeper, Adaptive Code via C#: Agile coding with design ...
Software should be open for extension, closed for modification. Add new features without breaking existing code. iskov Substitution Subtypes must be substitutable for their base types. Ensures that inheritance doesn't break logic. I nterface Segregation : Encapsulate algorithms so they can be swapped at runtime
No client should be forced to depend on methods it doesn't use. Software should be open for extension
: Add behavior to objects dynamically without subclassing.
: A metric for measuring the level of coupling between components.
Adaptive code doesn't exist in a vacuum; it requires a process that welcomes change.