Exercise for Software Architecture and Design
Exercise for Software Architecture and Design
A. Layered
B. Client-server
C. Object-oriented
D. Pipe and filter
A. Presentation Layer
B. Application Layer
C. Data Layer
D. Network Layer
6. Which design pattern is best suited for creating objects without specifying
the exact class of object that will be created?
A. Singleton
B. Factory Method
C. Adapter
D. Observer
7. Which pattern ensures a class has only one instance and provides a global
point of access to it?
A. Builder
B. Prototype
C. Singleton
D. Command
9. Which pattern would you use to allow multiple objects to listen and react to
events or changes in another object?
A. Strategy
B. Decorator
C. Observer
D. Facade
10. Which design pattern is used to separate the construction of a complex
object from its representation so that the same construction process can create
different representations?
A. Builder
B. Proxy
C. Flyweight
D. Bridge
12. Which architectural style is best suited for applications requiring high
modifiability and independent deployment?
A. Layered Architecture
B. Monolithic Architecture
C. Micro services Architecture
D. Pipe-and-Filter Architecture
A. Performance
B. Security
C. Modifiability
D. Scalability
14. Which architectural style is ideal for systems that require streaming data
processing and high throughput?
A. Event-Driven Architecture
B. Microservices Architecture
C. Pipe-and-Filter Architecture
D. Client-Server Architecture
15. For a system that requires strong fault isolation and high availability,
which architecture is most appropriate?
A. Monolithic Architecture
B. Client-Server Architecture
C. Microservices Architecture
D. Layered Architecture
16. In which architectural style does the central component coordinate all
communication, thus becoming a potential bottleneck?
A. Event-Driven Architecture
B. Service-Oriented Architecture
C. Client-Server Architecture
D. Microkernel Architecture
A. Layered Architecture
B. Client-Server Architecture
C. Event-Driven Architecture
D. Monolithic Architecture
Answers for Multiple choice Questions
1. C. To define the high-level structure of a software system
2. C. Object-oriented
(Note: Object-oriented is a design paradigm, not an architecture style.)
3. B. Application Layer
6. B. Factory Method
Explanation: The Factory Method pattern defines an interface for creating an
object but let’s subclasses alter the type of objects that will be created.
7. C. Singleton
Explanation: Singleton restricts the instantiation of a class to a single object
and provides a global point of access to it.
9. C. Observer
Explanation: Observer defines a one-to-many dependency so that when one
object changes state, all its dependents are notified.
10. A. Builder
Explanation: Builder pattern is used to construct complex objects step by step.
11. C. To define a family of algorithms, encapsulate each one, and make them
interchangeable
Explanation: Strategy allows the algorithm to vary independently from clients
that use it.
13. C. Modifiability
Explanation: The separation of concerns in layered architecture makes it
easier to modify specific layers without impacting others.