2011-02-10 24 views
0

这是更多的设计问题,其他人可能有类似的经验与&知道很好的解决方案。面向模块的代码和消息之间

这里的一般问题是说你正在构建一个模块化框架,每个模块都有一组输入和输出(可能是结构化的)。是否有任何良好的定义语言输入&输出(协议缓冲区一样),这将允许这些被定义在一个单独的文件中,然后模块会使用生成的代码来说明与外部世界的交互。

想到使用协议缓冲区的想法,但它的序列化能力似乎没有必要,因为这是intermodule(目前在同一过程中)。任何想法都会很棒。

我想的是类似以下内容:

interface input Person { 
    required readonly int32 id; 
    required readonly string name; 
    optional readonly string email; 
} 

而对于输出:

interface output PersonScored { 
    required read-write int32 id; 
    required read-write int32 score; 
} 

它像协议如何缓冲的作品,但将是用C++或Java生成模块接口有用。

+1

只是好奇:无论从任何适合您需要的最好的列表中选择?你不可能找到任何适用于这两者的东西。 – Mac 2011-02-10 05:02:19

回答