我正在开发一个包含一堆互锁部分(服务器、客户端、库等)的产品,其中一个是一个微型库,用户将链接到他们自己的客户端代码(有点像 Flickr API 或谷歌地图 API)。一旦他们包含了那个库,所有的互锁位都会神奇地连接在一起。所以 API 的简单性是一个主要的、重要的目标。
我向用户公开的 API 总共有两个类和七个公共方法。简单的豌豆,柠檬汁。
但简单是一种精心制作的错觉。我分发的库实际上依赖于另一个库,它自己有 136 个类(以及一千多个公共方法)。在构建过程中,我将这两个库链接到一个可交付成果中,以方便 API 使用者的集成和部署。
我现在面临的问题是,我不希望最终用户(集成我的软件以增强他们自己的功能的应用程序开发人员)被所有这些额外的麻烦所困扰,淹没在不必要的复杂性洪流中。
从外面看,这个库应该看起来正好包含两个公共类,正好有七个公共方法。
您如何在自己的项目中处理此类事情?我对与语言无关的解决方案以及针对不同语言、编译器和构建工具的各种技术感兴趣。
在我的具体情况下,我正在为带有 SWC 库文件的 flash 平台(AIR/Flex/Actionscript)进行开发。构建方法类似于 Java 平台,其中所有类都捆绑到具有相同可见性的压缩代码模块中(从概念上讲,Actionscript SWC 文件与 Java JAR 文件几乎完全相同)。
.NET 没有用于类和方法的“内部”修饰符吗?这正是我正在寻找的东西,如果有人知道隐藏 SWC 边界之间类的可见性的棘手技术,我很想听听。