Chapter 9 Flashcards

1
Q

Architectural Patterns vs. Design Patterns

A

Architectural patterns focus on the concept while Design patterns focus on the implementation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

5 Architectural Patterns

A
  1. Model-View-Controller
  2. Layered
  3. Repository
  4. Client-Server
  5. Pipe and Filter
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

MVC Uses

A

Used when the are multiple ways to view and interact with data, or when future requirements for interaction and presentation are unknown.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Pro of MVC

A

Allows data to change independently of its representation and vice versa. Changes in one view shown in all of them

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Con of MVC

A

Additional code and code complexity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Pros of Layered Pattern

A

Allows replacement of an entire layer as long as the interfaces maintain
Increased dependability possible since redundant facilities can be provided in each layer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cons of Layered Pattern

A

In practice, clean separation of layers is difficult
Direction communication across layers not immediately adjacent might be required
Performance overhead due to multiple levels of interpretation of a service request

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Use for Repository Pattern

A

Used when large volumes of data are generated and have to be stored for a long time. Also used in data-driven systems where the inclusion of data in the repository/database triggers an action, event, or tool

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Uses of Layered Pattern

A

Used when development is spread across several teams with each responsible for a layer of functionality
When a multi-level security is required.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Pros of Repository Pattern

A

Components can be independent and do not need to know of the existence of other components
Changes made by one component to the data can be propagated to all components
All data can be managed consistently as it is all centralized in one place.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Cons of Repository Pattern

A

The repository is a single point of failure, and distributing the repository/database across several nodes may be difficult
Inefficiencies in the components’ communications
Components must operate around an agreed repository/database data model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Purpose of Client-Server Pattern

A

Shows the dynamic view of distributed systems. It organizes a system as a set of services and associated servers and clients

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Pros of Client-Server Pattern

A

Servers can be distributed across a network, and general functionality can be available to all clients without the need for implementation by all servers providing the services.
Servers can be upgraded transparently
Many distributed processors may be utilized efficiently

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Cons of Client-Server Pattern

A

Each service is a single point of failure susceptible to denial-of-service attacks or server failures
Unpredictable performance depending on the network conditions and various nodes
Management problems if servers owned by different organizations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Origin of Pipe and Filter Pattern

A

Pipes comes from UNIX pipes
Filter means the transformation filters out the data it can process from the input stream

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Purpose of Pipe and Filter Pattern

A

Used in data processing applications where inputs are processed in separate stages to generate related outputs

16
Q

Pros of Pipe and Filter

A

Easy to comprehend
Supports transformation reuse
Workflow style matches the structure of many business processes
Evolution by adding transformations is straightforward
Can be implemented as either a sequential or a concurrent system

17
Q

Cons of Pipe and Filter

A

Data transfer format has to be agreed between communicating transformations
Increased system overhead
May be impossible to reuse architectural components that use incompatible data structures

18
Q

Architectural Patterns vs Reference Architectures

A

Patterns are technology and domain agnostic. Architectures are for applications in specific domains