Flexibility Flashcards

1
Q

Achieving Flexibility

A

Practices that enhance a designs quality will in and of themselves help to make systems more flexible

-strengthening cohesion
relaxing module coupling
streamlining intermodule dependency
improving the clarity

Additional practices include the 0,1 or infinity principle collection

isolating risk

providing support for data driven system configurability

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

What is the 0,1 or infinity Principle?

A

When considering whether to support a collection of items, plan for one of three situations:

1) Support for NO instances of that item
2) Supporting EXACTLY ONE instance of that item
3) Supporting INFINITE instances of that item

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

Isolating Risk

A

You can isolate risk, by isolating likely areas of functional instability with interfaces that abstract the functionality key concerns: eg(Platforms, data exchange formats, user interface designs)

Concerns: Contain “damage” to other parts of implementation due to change.

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

Data Driven Configurability

A

Use a well known persistent store to parameterize variable aspects of an applications behavior.

Define a multilevel (label, value) based structure aka XML or JSON

Advantages includes the elimination of the need to revise and recompile source code to modify an applications behavior.

Disadvantages: Can be time consuming and difficult to implement.

Can be difficult to present options In user friendly ways without overwhelming users with choices

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