Article recommendations: decorator pattern vs inheritance|AOP

Starting from Python decorators I wanted to dig deeper what the software engineering community says about decorators and differences to other main concepts. I come up with following recommendations:

Customizable Software Architecture – Approaches overview

  • All in One and feature toggles
    • Challenges: if much customization is needed
  • Branching/Forking of whole product
    • Challenges: merging with main branch in post-delivery
  • Entity-Attribute-Value-Model (EAV) for database as addition
  • Plugin Architecture
    • Challenges: “Points of Customization” (aka Extension Points) in the main product
  • Extension Approach (inheritance)
    • Separation of main product and customer-specific

Continue reading “Customizable Software Architecture – Approaches overview”