Difference between revisions of "Architecture Antipatterns"

From Suhrid.net Wiki
Jump to navigationJump to search
(Created page with "= Intro = * Arch. antipatterns are common problems and mistakes in the creation, implementation and management of the architecture. = Vendor Lock-in = * Symptoms: ** Commerci...")
 
Line 17: Line 17:
 
= Jumble =
 
= Jumble =
  
 +
* Vertical design elements are those dependent on specific software application and individual implementation.
 +
* Horizontal elements are those that are common among applications.
 
* Symptoms:
 
* Symptoms:
 +
** Both the horizontal and vertical design elements get mixed up.
 +
** This makes design less stable and less reusable. Wide change impact.
 
* Causes:
 
* Causes:
 +
** No special effort involved, programmers just focused on getting job done.
 
* Fix:
 
* Fix:
 +
** Identify the horizontal elements and delegate them to a separate architectural layer.
 +
** Vertical elements as extensions for specialized functionality and performance.
 +
** Incorporate metadata into the architecture.

Revision as of 03:52, 14 April 2012

Intro

  • Arch. antipatterns are common problems and mistakes in the creation, implementation and management of the architecture.

Vendor Lock-in

  • Symptoms:
    • Commercial component upgrades drive the application software maintenance cycle.
    • Commercial component does not subscribe to any open systems standard.
  • Causes:
    • No technical approach to isolating application software from direct dependency on the product version.
  • Fix:
    • Introduce an isolation layer
    • Hardware abstraction layer
    • Adoption of open systems standard and carefully choose components that meet this standard.

Jumble

  • Vertical design elements are those dependent on specific software application and individual implementation.
  • Horizontal elements are those that are common among applications.
  • Symptoms:
    • Both the horizontal and vertical design elements get mixed up.
    • This makes design less stable and less reusable. Wide change impact.
  • Causes:
    • No special effort involved, programmers just focused on getting job done.
  • Fix:
    • Identify the horizontal elements and delegate them to a separate architectural layer.
    • Vertical elements as extensions for specialized functionality and performance.
    • Incorporate metadata into the architecture.