What are the key features of responsibility driven design?

In contrast to Data-Driven Design, Responsibility-Driven Design focuses on the contract by considering the actions that the object is responsible for and the information that the object shares and tries to avoid dealing with details, delegating control to assign responsibilities to elements and therefore each element …

Who came up with the responsibility driven design?

Rebecca Wirfs-Brock
It was proposed by Rebecca Wirfs-Brock and Brian Wilkerson. Responsibility-driven design is in direct contrast with data-driven design, which promotes defining the behavior of a class along with the data that it holds.

What is meant by object Responsibility Why is it such an important concept in design?

A straightforward definition for object-responsibility is this: An object must contain the data (attributes) and code (methods) necessary to perform any and all services that are required by the object.

Who came up with responsibility driven design Mcq?

A simple but powerful technique to support responsibility driven design is CRC cards (Class, Responsibility, Collaboration) invented by Kent Beck and Ward Cunningham (Beck & Cunningham, 1989). You use index cards (15×10 cm).

What is CRC card in software engineering?

Class-responsibility-collaboration (CRC) cards are a brainstorming tool used in the design of object-oriented software. They were originally proposed by Ward Cunningham and Kent Beck as a teaching tool, but are also popular among expert designers and recommended by extreme programming supporters.

What are the various types of responsibilities in Ooad?

Basically, these responsibilities are of the following two types: knowing. doing….Doing responsibilities of an object include:

  • doing something itself, such as creating an object or doing a calculation.
  • initiating action in other objects.
  • controlling and coordinating activities in other objects.

How do you decouple multiple objects to support reuse?

How to de-couple objects so that low coupling is supported and reuse potential remains higher? Solution: Assign the responsibility to an intermediate object to mediate between other components or services so that they are not directly coupled. The intermediary creates an indirection between the other components.

Which of the following is a weak relationship between two objects?

Association is a semantically weak relationship (a semantic dependency) between otherwise unrelated objects. An association is a “using” relationship between two or more objects in which the objects have their own lifetime and there is no owner.

How will assign the responsibility to each class or object?

Solution: Assign a responsibility to the information expert, the class that has the information necessary to fulfill the responsibility. It is a basic guiding principle of object design. It expresses the common “intuition” that objects do things related to the information they have.

Which of the following is an important factor that can affect the accuracy and efficacy of estimates *?

Which of the following is an important factor that can affect the accuracy and efficacy of estimates? Explanation: As size increases, the interdependence among various elements of the software grows rapidly.

Which of the below is not a valid design pattern?

Which of the below is not a valid classification of design pattern? Explanation: Java patterns is not a valid classification of design patterns.

What are some of the benefits of using CRC modeling?

Advantages of CRC cards

  • Simple:
  • does not overwhelm the task of OO modeling.
  • Group interactions:
  • forster participants’ creativeness that facilitates the brainstorming of good solutions.
  • Concrete role.
  • emphasizes the division of responsibilities across objects.
  • encourages an intuitive understanding of the model.

What is the benefit of CRC card?

CRC cards have various benefits, which you might notice makes them very amenable to iterative and incremental process models, especially agile ones: They are portable: because CRC cards are physical objects, they can be used anywhere. Importantly, they can easily be used during group meetings.

What are the two responsibilities in Ooad?

initiating action in other objects. controlling and coordinating activities in other objects.

What are the 9 key principles of GRASP?

These were the 9 GRASP principles:

  • Information expert.
  • Creator.
  • Low coupling.
  • Protected variations.
  • Indirection.
  • Polymorphism.
  • High cohesion.
  • Pure fabrication.

How can you avoid the impact of changes of some objects on other in the system?

The correct answer is: Use interfaces to stabilize predicted changes and variations on the system.

Which of the following is a weak relationship between two objects inheritance composition aggregation none of these?

Explanation: Aggregation is a weak type of Association relationship because in this case objects of related classes can occur independently.

What is difference between association and aggregation?

Association refers to “has a” relationship between two classes which use each other. Aggregation refers to “has a”+ relationship between two classes where one contains the collection of other class objects. Inflexible in nature.

What is the issue with the single responsibility principle?

A class should have only one reason to change. A common misconception about this principle is that people think it means that a class should do only one thing. This is not the case: a class can do multiple things. If not, you’d end up with classes that only have a single public method.