Structural Architecture Design Patterns
These are pattern that define the structure of the architecture, like lego blocks, these patterns help you to see how each part of the system fits with the others.
Component-Based Patterns
This is good when the system can be described as if it were different pieces working together or it contains plugins.
- Components are modular building blocks of software
- Grouped into areas of concern
- Clearly described interfaces
- Containers provide additional services
Pros | Cons |
Easy deployment | Coarse building blocks |
Allow 3rd Parties | Can be expensive |
Promotes modularity | Initialization may be slow |
Few unanticipated interactions | Harder to develop & maintain |
Object-Oriented Pattern
- Use Classes
- Group classes into areas of concern
- Describe public members
- Uses inheritance, composition, aggregation, and association
Pros | Cons |
Promotes reuse | Inheritance hard to get right |
Easy to understand | Many unanticipated communications |
Easy to test & deploy | Too detailed |
Highly cohesive |
@Mark Farragher