Structural Design Patterns in Modern C++ - Using Composition Instead of Inheritance

Structural Design Patterns in Modern C++ - Using Composition Instead of Inheritance

Assessment

Interactive Video

Information Technology (IT), Architecture

University

Hard

Created by

Quizizz Content

FREE Resource

The video tutorial discusses the challenges of using multiple inheritance in C, particularly the issue of class explosion when combining features like buffering, encryption, and compression. It introduces the decorator pattern as a more flexible solution, allowing for runtime feature addition and removal without modifying existing components. The tutorial then demonstrates how to implement composition over inheritance, using a compressed stream as an example, and concludes with code changes to illustrate the concept.

Read more

7 questions

Show all answers

1.

OPEN ENDED QUESTION

3 mins • 1 pt

What is the main issue with creating an instance of Buffered Encrypted Stream in C?

Evaluate responses using AI:

OFF

2.

OPEN ENDED QUESTION

3 mins • 1 pt

How can we ensure that both Encrypted Stream and Buffered Output Stream inherit from File Output Stream without causing issues?

Evaluate responses using AI:

OFF

3.

OPEN ENDED QUESTION

3 mins • 1 pt

Discuss the implications of not being able to reuse features for a new kind of stream, such as Network Stream.

Evaluate responses using AI:

OFF

4.

OPEN ENDED QUESTION

3 mins • 1 pt

Explain the concept of using wrappers in the context of adding features to components.

Evaluate responses using AI:

OFF

5.

OPEN ENDED QUESTION

3 mins • 1 pt

What are the limitations of using inheritance for mixing features in class design?

Evaluate responses using AI:

OFF

6.

OPEN ENDED QUESTION

3 mins • 1 pt

What changes need to be made to the Compressed Stream to avoid the problems associated with inheritance?

Evaluate responses using AI:

OFF

7.

OPEN ENDED QUESTION

3 mins • 1 pt

What is the significance of ensuring that the Compressed Stream is a kind of Output Stream?

Evaluate responses using AI:

OFF