Karteikarten
Rep Object Design and Design Patterns
Karten in diesem Stapel (21)
- 1What is Object Design specifically regarding its relationship to Requirements Analysis and System Design?- Object Design bridges the gap between Analysis Model and the hardware/software platform defined during System Design
- During Object Design we refine and detail application and solution objects and add additional solution objects to bridge the object design gap - 2What is Component-based Software Engineering?The Design Gap is filled with available components -> 0% coding
- 3What is COTS-Development?Special form of Component-based Software Engineering
The Design gap is filled with commercial-off-the-shelf components - 4What is the difference between Black Box Reuse and White Box Reuse?Black Box Reuse/ Composition: New class is created by the aggregation of existing classes and offers aggregated functionality
White Box Reuse/Inheritance: New subclass reuses functionality of the superclass and may offer new functionality - 5What is Generalization? What is Specialization?Generalization: The discovery of an inheritance association between 2 classes, where the subclass is discovered first
Specialization: The discovery of an inheritance association between 2 classes, where the superclass is discovered first - 6What is the difference between Inheritance and Delegation?Inheritance: Extends a superclass with a subclass containing a new operation or overriding an existing operation
Delegation: Catches an operation and sends it to another object - 7Name 1 advantage and 1 disadvantage of DelegationAdvantage: Flexible, because any object can be replaced at run time
Disadvantage: Inefficient, because objects are encapsulated - 8Name 2 advantages and 2 disadvantages of InheritanceAdvantages:
- Straightforward to use
- Supported by many programming languages
Disadvantages:
- Inheritance exposes the public methods of the parent class
- Changes in the parent class force the subclass to change as well (at least recompile) - 9Name the 2 goals of inheritance and in which stages of the engineering process they occur1. Identification of taxonomies -> Generalization or Spezialization
Used during Analysis
2. Identifying Inheritance for Reuse -> Implementation Inheritance or Specification Inheritance
Used during Object Design - 10How is "Implementation Inheritance" defined?Subclassing from an implementation -> A class is already implemented that does almost the same as the desired class
- 11How is "Specification Inheritance" defined?Subclassing from a Specification -> The Specification is an abstract class where at least one operation is abstract which means the operation is specified but not yet implemented
- 12Name the 2 ways abstract operations can be implemented in JavaBy Method Overriding
or
Strict Inheritance - 13Name the 3 types of Design Patterns and two examples for eachStructural: Composite, Bridge
Behavioral: Strategy, Observer
Creational: Builder, Abstract Factory - 14"must interface with an existing object"Adapter Pattern
- 15"Must interface to several systems, some of them to be developed in the future" "An early prototype must be demonstrated" "Must provide backward compatibility"Bridge Pattern
- 16"Complex structure" "Must have variable width and depth"Composite Pattern
- 17"Must interface to existing objects" "Must interface to existing API" "Must interface to existing server"Facade Pattern
- 18"Must be location transparent"Proxy Pattern
- 19"Must be extensible" "Must be scalable"Observer Pattern
- 20"Must provide a policy independent from the mechanism" "Must allow to change algorithms at run time"Strategy Pattern
- 21What are the 4 Typical Design Goals addressed by Design Patterns?- Extensibility
- Customizability
- Scalability
- Reusability
Informationen
- Beschreibung
- Software Engineering Karteikarten am Rep Object Design and Design Patterns, erstellt von Maximilian Zeyda am 01/08/2017.
- Erstellt von
- Maximilian Zeyda
- Aufrufe
- 26
- Bewertung