"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."
Quote Details
Added by wikiquote-import-bot
Unverified quote
0 likes
Non-fiction authors from the United StatesWomen authors from the United StatesSoftware engineers from the United StatesPeople from PortlandWomen engineers from the United States
Original Language: English
Available Languages (1)
Sources
p. 75: Conclusion
https://en.wikiquote.org/wiki/Rebecca_Wirfs-Brock
Revision History
No revisions have been submitted for this quote.
Categories
Rebecca Wirfs-Brock
14 quotes on TrueQuotesView all quotes by Rebecca Wirfs-Brock →
Related Quotes
"A conceptual level view of an object design describes the key abstractions. While someone might think of key abstract…"
"Frameworks are skeletal structures of programs that must be fleshed out to build a complete application. For example,…"
"Frameworks are white boxes to those that make use of them. Application developers must be able to quickly understand …"
"A subsystem is a set of classes (and possibly other subsystems) collaborating to fulfill a set of responsibilities. A…"
"Object-oriented programming languages support encapsulation, thereby improving the ability of software to be reused, …"
"Object-oriented programming increases the value of these metrics by managing this complexity. The most effective tool…"
"The goal of is to improve encapsulation. It does so by viewing a program in terms of the client/server model."
"is inspired by the client/server model. It focuses on the contract by asking:"
"Responsibility-driven design specifies object behavior before object structure and other implementation consideration…"
"Experienced object designers explore the design space from many different angles. They refine ideas of how their syst…"