'朋友'相当于Java?

Ale*_*Lim 25 java design-patterns friend

这里有点建筑麻烦.

在C++中,我们有"朋友"的概念,这样的朋友类可以访问私人成员.

所以,我正在开发一个Java应用程序,并试图坚持MVC架构.我有一个控制器类来管理'map_objects'之间的图形连接.我想通过使用这个控制器类隐藏DTO'map_objects'中的函数,该函数实际设置这些连接.

(即,即使控制器类实现了设置连接性所需的功能,'用户'仍然可以直接访问DTO中的setter/getter函数来自行设置它们.)

在这方面有任何设计模式或提示吗?(或者我完全搞砸了?)

DUPLICATE 有没有办法在Java中模拟C++的"朋友"概念?

Jul*_*ang 20

(联合国)幸运的是,在Java中没有直接的C++朋友.但是,Java访问级别修饰符可以帮助您.特别是私有或包私有(AKA包受保护或"默认")可能有所帮助.


Ilj*_*euß 17

您可能希望使用接口隔离 - 即,让类实现不同的接口,并仅将对适当(较小)接口的引用传递给不同的客户端.