L6 - Object Design Flashcards Preview

EIST (IN0006) > L6 - Object Design > Flashcards

Flashcards in L6 - Object Design Deck (28):
1

Adapter Pattern

Connects incompatible components (wrapper: bank COBOL) + inheritance followed by delegation

2

Object Model Restructuring

improve understandability and extensibility

3

Black Box Reuse

Composition & Aggregation: New class offers aggregated functionality of existing classes.

4

Object Design focuses on ...

reuse and specification.

5

Characteristics of Structural Patterns and Examples

Reduce Coupling & Extensibility & Encapsulation: Adapter/Bridge/Composite/Façade/Proxy

6

Specialization

superclass discovered first

7

Commercial-Off-The-Shelf Development fills design gap with ...

standard components ('buy')

8

OOSE

Object-Oriented Software Engineering: System Design + Object Design + Implementation

9

Implementation Inheritance

Subclassing from implemented class that nearly has the same functionality (Stack/List: super bad). Reuse implemented functionality of superclass. PRO: Easy BUT: Bad Change Management / No Information Hiding

10

Types of Frameworks

infrastructure & middleware & whitebox & blackbox frameworks

11

Bridge Pattern

Delay design decision until runtime & provide multiple implementations under same interface & Bridge between Abstraction and Implementation: Delegation followed by inheritance

12

Strict Inheritance

Subclass can only add new methods and cannot override (keyword: final) = much better

13

Generalization

subclass discovered first (biology; leads to model transformation)

14

Characteristics of Behavioral Patterns and Examples

Choice between Algorithms & Model Complex Control Flows: Observer/Strategy

15

Strategy Pattern

Add algo w/o disturbing the application/other algo's: Policy decides stragegy.

16

SA/SD

Structured Analysis/Structured Design: Preliminary Design + Detailed Design

17

Contraction

Method Overriding with empty bodies (violates Liskov's Substitution Principle = bad)

18

Method Overriding

Implementation in subclass overrides function in superclass (same signature)

19

Frameworks

partial application that can be specialized to produce custom applications (reusability & extensibility)

20

Observer Pattern

models 1-to-Many Dependency between objects: 'publish & subscribe'

21

Object Model Optimization

improve performance (response time & memory utilization & ...)

22

Delegation

Catching operation and sending it to another object where it is already implemented. Reuse functionality of existing class. PRO: flexible & replaceable BUT: Encapsulation (inefficient)

23

Component-Based Software Engineering fills design gap with ...

available components ('build')

24

Specification Inheritance

Subclassing from specification. Reuse of specified functionality of the superclass.

25

Legacy System

system that has evolved over decades and is considered irreplaceable

26

White Box Reuse

Inheritance/Subclassing: New Class reuses functionality of superclass + new functionality (use: specify interface + describe taxonomies)

27

Reuse

Identification of existing solutions (inheritance & off-the-shelf & design patterns)

28

Characteristics of Creational Patterns and Examples

Make System independent from the way its objects are created: Prototype/Singleton