![]() |
SearchWiki Heuristics.RecentChanges Edit Page Page Revisions |
| Home Design Patterns Heuristics Software Development Software Process Patterns TheIntroduction LogicalDesign PhysicalDesign PatternFoundations GuidelinesAndMyths ReferenceImplementation DependencyPatterns UsabilityPatterns ExtensibilityPatterns MaintenancePatterns AntiPatterns UtilitiesAndTools AllPatterns | Formerly ComponentDependency.
It's pretty common to devote resources and energy toward creating a resilient and robust architecture. A flexible architecture ensures consistency throughout the system, and helps the system accommodate change as the system grows into the future. In fashioning these flexible structures, the majority of effort it spent designing flexible class relationships. These class relationships represent your logical design. Unfortunately, I've found that little time is devoted to defining a system's component, or physical, structure. The physical design of your system, however, has a tremendous impact on your ability to realize the advantages sought by creating a flexible logical design. These component coupling heuristics offer guidance when designing your component relationships. In addition, I'll explore how these heuristics serve as the foundation of many architectural patterns you've very likely used.
|