The benefit is increased encapsulation, since the specification of the exact way in which a request is carried out is private to the server.
To further the encapsulation of the server, Wirfs-Brock and Wilkerson call for language features that limit outside influence to the behavior of a class.
They demand that the visibility of members and functions should be finely grained, such as in Eiffel programming language.
Responsibility-driven design focuses on the objects as behavioral abstractions which are characterized by their responsibilities.
The rest of the object structure including data attributes are assigned later, as and when required.
Similarly, it can help to design and maintain explanation facilities for cognitive models, intelligent agents, and other knowledge-based systems.
Objects are described as things that have machine-like behaviors that can be plugged together to work in concert.
These objects play well-defined roles and encapsulate scripted responses and information.
Interface, however, is the preferred implementation as it increases flexibility by hiding the concrete class which ultimately does the work.