繁体   English   中英

如何从jar或aar文件中隐藏类?

[英]How to hide classes from my jar or aar file?

我正在开发图书馆。 迷你结构就像

AwesomeLib
  ----Core
        -Engine
        -Manager
        -...
  ----Services
        -AServices
        -BServices
        -.....

我不希望客户端访问某些组件,例如Core软件包中的Engine或Manager。 但是我在服务部分需要它们。 所以我不能使用默认类。 我也不想在同一包中收集所有类。

注意:我只将jar-aar文件提供给客户端。

注意2:我不想保护自己的代码。 只想使用封装。

如果是封装,请尝试以下操作:

  • EngineManager设为私有
  • 为它们每个创建一个公共接口(使它们实现接口)
  • 为每个接口(或每个逻辑组)创建一个Factory类,该类将创建Object ,但仅将其作为其接口返回。

这样,所有实现细节都将隐藏在接口后面,从而封装了所有逻辑。

客户端将能够使用Factory创建接口的实现,但是将不知道实现细节或系统逻辑的其余部分,因此对他们来说将是无用的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM