我正在开发一个图书馆。迷你结构就像
AwesomeLib
----Core
-Engine
-Manager
-...
----Services
-AServices
-BServices
-.....
我不希望客户端在Core包中像Engine或Manager那样访问某些部分。但我在服务部分需要它们。所以我不能使用默认类。另外,我不想收集相同包中的所有类。
注意:我只向客户提供jar-aar文件。
注2:我不想保护我的代码。只是想使用封装。
答案 0 :(得分:0)
如果是你想要的封装,试试这个:
Engine
和Manager
私人Object
,但仅将其作为其接口返回。这样,所有实现细节都将隐藏在接口后面,封装所有逻辑。
客户端将能够使用工厂来创建接口的实现,但不会知道实现细节和系统逻辑的其余部分,因此对它们没用。