我正在开发一个包含一堆互锁组件(服务器、客户端、库等)的产品,其中一个组件是一个很小的库,用户可以将它链接到自己的客户端代码(有点像Flickr API或Google Maps API)。一旦它们包含了这个库,所有的互锁位就会神奇地将它们自己挂钩在一起。因此,API简单性是一个主要的、重要的目标。
我向用户公开的API总共有两个类和七个公共方法。太简单了,挤柠檬汁。
但这种简单性是一种精心制作的错觉。我正在分发的库实际上依赖于另一个库,它有自己的136个类(以及超过1000个公共方法)。在构建过程中,为了便于API使用者集成和部署,我将这两个库链接到一个可交付件中。
我现在面临的问题是,我不希望最终用户(集成我的软件以增强自己的功能的应用程序开发人员)被所有这些额外的麻烦所困扰,淹没在不必要的复杂性洪流中。
从外部看,该库应该看起来恰好包含两个公共类,以及七个公共方法。
在你自己的项目中,你是如何处理这种事情的?我对语言不可知的解决方案以及针对不同语言的各种技术、编译器和构建工具感兴趣。
在我的特定情况下,我使用SWC库文件为flash平台(AIR/Flex/Actionscript)进行开发。构建方法类似于Java平台,在Java平台中,所有类都捆绑到具有相同可见性的压缩代码模块中(从概念上讲,Actionscript SWC文件几乎与Java JAR文件完全相同)。
.NET没有针对类和方法的“内部”修饰符吗?这正是我正在寻找的东西,如果有人知道如何在SWC边界之间隐藏类的可见性的技巧,我很想听听。
发布于 2009-08-02 10:21:17
我认为您可以通过使用名称空间来实现这一点:http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000040.html
请注意,actionscript中的命名空间与C#中的命名空间不同,它更像是xml中的命名空间。
https://stackoverflow.com/questions/1218225
复制相似问题