Module 6: Architectural Styles
From SoftwarePractice.org
Module 6 of the Foundations of Software Architecture course, based on A Software Architecture Primer by John Reekie and Rohan McAdam.
Contents |
[edit]
Text-reading questions
- What is a pattern?
- Why is it good that certain structures occur repeatedly in architecture and design?
- What is a pipe-and-filter architecture? Name some benefits and liabilities.
- What is a client-server architecture? Name some benefits and liabilities.
- What is the key characteristic that indicates a need for a layered architecture?
- Name three common examples of layered architectures.
- Who (typically) communicates with the top layer?
- Who (typically) communicates with the bottom layer?
- Can layer number $J$ depend on layer $J-2$?
- What are the two types of (recommended) interfaces to layers?
- What are the three tiers in the logical 3-tier model? What are the responsibilities of each tier?
- What is a thin client?
- What is the difference between a layered architecture and an N-tier architecture?
[edit]
Exploration questions
- What is the most difficult part of designing a layered architecture?
- Describe the key lessons contained in the paper entitled The Big Ball of Mud, by Brian Foote and Joseph Yoder.
[edit]
Related articles
- (None listed.)
