Difficulty: Medium
Correct Answer: All of the above.
Explanation:
Introduction / Context:
Three-tier architecture separates responsibilities into presentation (UI), application (business logic), and data (DB). This separation improves maintainability, scalability, and the ability to evolve systems without disrupting all layers.
Given Data / Assumptions:
Concept / Approach:
Modularity enables adding new business modules (APIs/services) without altering clients extensively. Centralizing logic on an app tier lightens the client and can reduce ad-hoc burdens on the DB, effectively making both “thinner.” While compiled SQL performance mainly depends on the database, three-tier designs facilitate pooling, caching, and optimized call patterns that indirectly improve performance of repeated statements.
Step-by-Step Solution:
Verification / Alternative check:
Measure throughput after introducing an app tier with pooled connections and cached results; observe reduced DB contention.
Why Other Options Are Wrong:
Options A and C are true on their own; B is plausible via better call patterns and reuse—hence “All of the above.”
Common Pitfalls:
Assuming three tiers automatically improve performance without proper design; duplicating logic across tiers.
Final Answer:
All of the above.
Discussion & Comments