“Encapsulation is the key to increasing the value of such software metrics as reusability, refinability, testability, maintainability, and extensibility. Object-oriented languages provide a number of mechanisms for improving encapsulation, but it is during the design phase that the greatest leverage can be realized.
The data-driven approach to object-oriented design focuses on the structure of the data in a system. This results in the incorporation of structural information in the definitions of classes. Doing so violates encapsulation.
The responsibility-driven approach emphasizes the encapsulation of both the structure and behavior of objects. By focusing on the contractual responsibilities of a class, the designer is able to postpone implementation considerations until the implementation phase.
While responsibility-driven design is not the only technique addressing this problem, most other techniques attempt to enforce encapsulation during the implementation phase. This is too late in the software life-cycle to achieve maximum benefits.”

Source: Object-oriented design: a responsibility-driven approach (1989), p. 75: Conclusion

Adopted from Wikiquote. Last update June 3, 2021. History

Help us to complete the source, original and additional information

Do you have more details about the quote "Encapsulation is the key to increasing the value of such software metrics as reusability, refinability, testability, ma…" by Rebecca Wirfs-Brock?
Rebecca Wirfs-Brock photo
Rebecca Wirfs-Brock 13
American software engineer 1953

Related quotes

Grady Booch photo

“Structured design does not scale up well for extremely complex systems, and this method is largely inappropriate for use with object-based and object-oriented programming languages.”

Grady Booch (1955) American software engineer

Source: Object-oriented design: With Applications, (1991), p. 19

Ed Yourdon photo
Grady Booch photo
Grady Booch photo

“Like structured design, the term object-oriented design (OOD) means different things to different people. For example, OOD has been used to imply such things as”

The design of individual objects, and/or the design of the individual methods contained in those objects
The design of an inheritance (specialization) hierarchy of objects
The design of a library of reusable objects
The process of specifying and coding of an entire object-oriented application
The term nonformal is used to describe approaches to OOD that are not well defined, step-by-step, or repeatable, such as those that emphasize the design of individual objects, specialization (inheritance) hierarchies, and libraries of objects...
Abstract
Object‐Oriented Design (2002)

Grady Booch photo

“In a quality object-oriented software system, you will find many classes that speak the language of the domain expert”

Grady Booch (1955) American software engineer

Source: Object Solutions: Managing the Object-Oriented Project. (1996), p. 39; as cited in: Journal of Database Management. Vol 10-11. p. 33

Rob Pike photo

“Object-oriented design is the roman numerals of computing.”

Rob Pike (1956) software engineer

Rob Pike (2004) comment in comp.os.plan9 http://groups.google.com/group/comp.os.plan9/msg/006fec195aeeff15 group at groups.google.com, 02-03-04

Related topics