对不起标题,我想不出一个更自我描述的。
在我正在开发的独立应用程序(这是一项大学作业)中,我面临着这个问题:
我的实体(或模型对象或业务对象等)只不过是 POJO。
自然会有(将有)许多类使用它们,但其中一些类不应该被允许修改它们的值(例如使用它们的设置器);我们可以说我需要将一个对象传递给具有不同权限的不同类:对某些类只读,对允许修改对象状态的其他类读写。
一个例子是一个只显示对象信息的 GUI 窗口:我想确保这个类完全不知道如何修改对象的状态。
我阅读了很多相关问题(只读接口、只读实现、防御性副本等)的主题,但我没有找到适合我的情况的任何内容。
假设我只想将对象的 setter 方法的访问权限授予特定的类,但我找不到实现此目的的方法。
我最初认为接口会很好(例如ReadOnlyObject
,使用 getter 和WriteOnlyObject
setter 并Object
实现它们),但问题是WriteOnlyObject
任何使用ReadOnlyObject
. 除此之外,我不相信只用 getter 或 setter 编写接口是一个好习惯。
请帮忙!@_@