2011-06-28 34 views
0

最近,我的广告主问我是否可以构建一个可用于实现+测试一些新的分布式计算范例的模拟框架。面向组件的软件和设计

我研究了一些开源框架 - 发现有相当多的仿真框架可用,其中大部分都基于面向组件的软件设计原则。我在网上查到这个话题,发现这是90年代末和00年代初期的事情,但现在已经从高点消失了。有没有人有一些很好的书,建议它究竟是什么?现在接触到Java - 我也注意到我可能已经使用了一些面向组件的软件概念(例如 - 我已经使用Swing的文本API创建了简单的wysiwyg文档编辑器,所以我知道如下概念 - Views,StyleContext ,StyleDocument等等) - 尽管我明确没有注意到这些技术。

任何指向初学者书籍/教程的指针将不胜感激。我只是想创建一些小应用程序,看看是否有任何意义。

回答

2

要构建一个灵活的仿真框架,您可能希望看看像Scala这样的函数式编程语言,因为通过设计它可以更好地工作,因为您可以设计一个DSL(域特定语言)来帮助抽象出编写模拟器,以便其他人可以专注于他们的研究。

有关想要将Scala用于模拟器的某个示例,您可以查看Howto design a clock driven multi-agent simulation

对于一个比较OOP和面向组件编程的.NET参考的有趣页面,你可以看看这个博客:http://www.elenkist.com/bushido_burrito/blog/?p=11

在对语言或技术进行过度包装之前,先设计出您想要做什么,如何让用户与您的框架进行交互,然后决定最佳方法,而不是试图选择一种方法并强制你的解决方案在这些限制内工作。