Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
caliburn大型开发的可行silverlight框架?_Silverlight_Caliburn - Fatal编程技术网

caliburn大型开发的可行silverlight框架?

caliburn大型开发的可行silverlight框架?,silverlight,caliburn,Silverlight,Caliburn,我一直在为一个非常大的项目寻找一些框架,比如200多页、50多个表等,以便在silverlight中开发。对于开发这样一个大型应用程序,是否有最佳实践或框架建议?希望最终的应用将由多种技术组成,并有兴趣了解您对此的看法。我的一个朋友指出Caliburn是最好的框架之一。有人用它来开发这么大的应用程序吗?我们所有的项目都使用Caliburn(但这是误导,因为我们是开发它的人):-) 表的数量不会有任何影响,因为Caliburn与数据访问无关。 “页数”也没有必要产生影响。“页面”一词的使用让我觉得

我一直在为一个非常大的项目寻找一些框架,比如200多页、50多个表等,以便在silverlight中开发。对于开发这样一个大型应用程序,是否有最佳实践或框架建议?希望最终的应用将由多种技术组成,并有兴趣了解您对此的看法。我的一个朋友指出Caliburn是最好的框架之一。有人用它来开发这么大的应用程序吗?

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

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

总之,应用程序的大小和复杂性并不重要。 为了更好地理解为什么Caliburn会有用,我建议阅读Rob Eisenberg的系列文章


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

我们有一个基于Caliburn的小项目(大约30页)。在我看来,更多页面的唯一复杂性是内存消耗,因为caliburn的开箱即用行为初始化所有页面(屏幕/视图模型)并将它们保存在内存中。我们已经创建了处理这种“惰性屏幕导体”的自定义方法,这种“惰性屏幕导体”仅在请求其页面时创建viewmodel,并且还有一种关闭它的方法(从而让垃圾收集器处理它)。所以现在,无论应用程序中有30页还是300页都无关紧要。它将消耗打开页面所需的内存(假设用户不需要一次打开所有300页)


顺便说一句:我计划转移到Caliburn.Micro,所以我必须将它转移到这个框架中。另一方面,Caliburn.Micro更干净(我对它的理解也比我为老Caiburn创建解决方案时要好得多),因此我认为重构解决方案是一个好主意。

有没有在@PRISM/MEF中查找您的解决方案?另外,您认为您需要在caliburn.micro中使用“惰性屏幕导体”,还是在micro中固定?我们在caliburn项目中使用prism和unity。现在我几乎完成了另一个基于Caliburn.Micro和MEF+Unity的小得多的项目。我不再使用PRISM,因为不再需要它的主要功能(如我所见)。延迟加载应用程序模块并不是一个好的解决方案(用户在不期望的情况下必须等待),prism区域被Caliburn.Micro的视图上下文所取代。如果将页面/屏幕添加到其父/导体(外壳等),它们将加载到内存中。问题是这些页面是否很多。但这不是主要的问题od CB/C.M.C.M也不能解决这个问题,所以我也必须对它进行移植。