为大型开发制定可行的Silverlight框架?

时间:2010-10-09 15:42:24

标签: silverlight caliburn

我一直在寻找一个非常大的项目的框架,例如200多个页面,包含50多个表等,以便在Silverlight中开发。开发如此庞大的应用程序是否有最佳实践或框架建议?希望它将成为构成最终应用程序的多种技术,并有兴趣了解您对此的看法。我的一位朋友向我指出Caliburn是最好的框架之一。有没有人用它来开发这么大的应用程序?

2 个答案:

答案 0 :(得分:2)

我们在所有项目中使用Caliburn(但这是误导,因为我们是开发它的人)。 : - )

表的数量没有影响,因为Caliburn与数据访问无关。 “页面”的数量也没有必要产生影响。使用术语“页面”会让我认为你有一个导航(浏览器风格)UI隐喻。如果是这样,你在使用这种方法时仍然可以从Calbiurn中受益,但它不是自然的“Caliburn方式”。

总而言之,应用程序的大小和复杂性并不重要。 为了更好地了解Caliburn为何会有用,我建议您阅读Rob Eisenberg撰写的一系列帖子,beginning here

请注意,我们鼓励使用Caliburn Micro的新项目,而不是原来的Caliburn。另外一个可以提供帮助的资源可能是Rob video from MIX 10我们讨论了如何推出自己的框架(独立于Caliburn)。

答案 1 :(得分:1)

我们在Caliburn上建立了一个稍小的项目(大约30页)。正如我所看到的,更多页面的唯一复杂因素是内存消耗,因为其开箱即用行为的校准初始化所有页面(屏幕/视图模型)并将它们保存在内存中。我们创建了自定义处理方式 - 一种“懒屏导体”,只有在请求页面时才创建视图模型,并且还有一种关闭它的方法(因此让垃圾收集器处理它)。所以现在应用程序中是否有30或300页无关紧要。它会占用打开页面所需的内存(假设用户不需要同时打开所有300页)。

顺便说一句:我打算转到Caliburn.Micro所以我必须把它移到这个框架。另一方面,Caliburn.Micro更清洁(我对它的理解也比我为旧Caiburn创建解决方案时更好)所以我希望重构解决方案是个好主意。