Object-oriented programming languages support encapsulation, thereby improving the ability of software to be reused, refined, tested, maintained, and extended. The full benefit of this support can only be realized if encapsulation is maximized during the design process.
We argue that design practices which take a data-driven approach fail to maximize encapsulation because they focus too quickly on the implementation of objects. We propose an alternative object-oriented design method which takes a responsibility-driven approach. We show how such an approach can increase the encapsulation by deferring implementation issues until a later stage.


p. 71: Abstract - Object-oriented design: a responsibility-driven approach (1989)


Object-oriented programming languages support encapsulation, thereby improving the ability of software to be reused, refined, tested, maintained, and ...

Object-oriented programming languages support encapsulation, thereby improving the ability of software to be reused, refined, tested, maintained, and ...

Object-oriented programming languages support encapsulation, thereby improving the ability of software to be reused, refined, tested, maintained, and ...

Object-oriented programming languages support encapsulation, thereby improving the ability of software to be reused, refined, tested, maintained, and ...