Architecture patterns Flashcards

1
Q

aims of software patterns

A

enhance reusability of OO code

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

benefits of design patterns

A
capture expertise and make it accessible to non-experts in an encapsulated design pattern
help communication amongst devs 
makes usuability easier
facilitate design modifications
improve design documentation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

architectural model

A

artefact documenting some or all of the architectural design decisions about a system

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

architecture visualization

A

depicts some or all of design decisions to a stakeholder

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

architecture view

A

subset of related architectural design decisions

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

when is MVC pattern used

A

when there are multiple ways to view and interact with the data
when the future requirements for interaction and presentation of data are unknown

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

how does MVC work

A

separates presentation and interaction of data
Model - manages systems data ans associated operations on that data
view - manages how the data appears to the user
controller manages the user interaction and passes these interaction to the view and the model

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

pros of mvc

A

allows data to change independently of its representation

supports presentation of the same data in different ways with changes made in one representation shown in all of them

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

cons of mvc

A

can involve additional code and code complexity

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

when is layered architecture pattern used

A

when building new facilities on top of existing systems

development spread across several teams

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

how does layered architecture work

A

organizes system into layers with related functionality associated with each layer

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

pros of layered arch

A

servers can be distributed across a network and servers can be added/removed with minimal disruption

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

cons of layered arch

A

each service is a single point of failure - server failure
performance can be unpredictable because it depends on the network and the system
server management issues

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

when is pipe and filter pattern used

A

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

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

how does pipe and filter pattern work

A

processing of the data in a system is organized so that each processing component (filter) carries out one type of data transformation. Data flows via pipe into component for processing

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

pros of pipe and filter pattern

A

easy to understand and supports transformation reuse
matches structure of many business processes
evolution by adding filters/transformation
implemented sequentially or concurrent

17
Q

cons of pipe and filter pattern

A

format for data transfer has to be agreed upon between communicating transformations
input parsing and unparsing - overhead, difficult to reuse things

18
Q

key aim of design patterns

A

minimize coupling (degree to which communication takes place between modules) and increase cohesion (degree to which communication takes place within module)

19
Q

problems because of a design with high coupling

A

changes in related classes force local changes
harder to understand inisolation
harer to reuse

20
Q

Examples of non-functional requirements

A
performance
security
safety
availability
maintainability
21
Q

when to use repository pattern

A

when you have system in which large volume of information is generated that has to be stored for a long time
data-driven systems where the inclusion of data in the repository triggers an action or tool

22
Q

how does the repository pattern work

A

all data in a system is managed in a central repository that is accessible to all system components
components only interact through

23
Q

pros of repository system

A

components can be independent

all data managed consistantly

24
Q

cons of repos system

A

single point of failure - one issue can affect the whole system
efficiencies in organzainisng all communications through the repo
distributing repo across various computers may be difficult