In general, objects in an application are designed to carry related data and perform well-defined tasks with clearly defined responsibilities. In an application, these objects interact with each other to provide the overall application functionality. During such interactions, instances of different classes may need to access the same set of data items or attributes. For example, different business objects in an application often use the same database connection string to connect to the application backend database. These common attributes are not always read-only. Consider the example of an application that operates in local and remote modes. While the application is operating in the remote mode, if ...

Get Software Architecture Design Patterns in Java now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.