这是我关于SO的第一个问题。我知道有很多关于Silverlight和架构的主题,但没有找到满足我的答案。我是ASP.NET MVC开发人员,习惯于使用最佳实践构建的体系结构(与DI的松散耦合等)。
现在我面对新的Silverlight 4项目,并希望确保我做的最好,因为我没有经验。应用程序所需的主要功能如下:
我正在观看不同的网络广播(Taulty等),关于Silverlight的博客,并提出了以下架构。
问题在于我不知道如何定义一个可靠的架构,其中所有这些元素可以很好地协同工作。我应该使用像Prism或Caliburn这样的框架吗?但是现在我不确定他们支持哪些场景。
Silverlight中Unity的最佳用法是什么?我曾经在ASP.NET MVC中使用IoC进行loos耦合以及其他诸如拦截审计日志记录之类的事情。似乎Silverlight Unity不支持拦截。我想用它来启用松散耦合,并在需要时启用移动到云端。
提前感谢您的帮助。
答案 0 :(得分:2)
Silverlight中的最佳实践实际上(IMO)有点神话。根据定义,“最佳实践”指的是总体上产生最佳结果的实践(快速上市,快速迭代版本,低错误数等)。然而,Silverlight 4甚至尚未投入生产,因此它实际上无法确定最终结果是“最佳实践”。
除此之外,Silverlight本身及其周围的技术非常流畅,而且非常新颖。考虑到这一点,这是我的2便士。
如果您正在构建LOB应用程序,那么EF和WCF RIA服务绝对会在您的架构中体现出来。 (虽然NHibernate而不是EF可能值得一看,但我倾向于偏向于MS组件,除非有其他东西将它撞出公园)。 如果你进入DI,MEF绝对值得进一步调查。它的这个区域现在最流行。看到Unity和Prism进一步发展以更多地使用MEF来提供各种模式,我不会感到惊讶。 MEF特别适合您所说的松散耦合。