我目前的任务是教授我所在公司的所有开发人员,关于Silverlight(v2)。唯一的问题是我自己没有任何真正的Silverlight经验。当然,我已经研究了有关数据绑定,布局等内容的所有技术细节,所以我可以帮助我的同事们。但有一点很难找到有关的信息是一般的项目结构。
我已经决定遵循P& P Prism 2路径(甚至可能会在后面添加一些WPF)所以我想知道你们中是否有聪明的人有使用Prism 2开发真实项目的经验甚至只是WPF,如果您对项目/解决方案结构有任何建议?比如“你在哪里提出意见?”或者“你有任何模块项目命名约定吗?”等
非常感谢任何帮助。
答案 0 :(得分:7)
这完全基于我使用Prism for WPF的经验,而不是Silverlight。我不是Prism的专家,可以很容易地改变我对其中一些的看法。 : - )
为所有事情制作模块很诱人。别。你的构建时间很快就会爆炸,你就会处理一个非常破碎的解决方案。相反,我有一个主模块,它是静态加载的,并包含我想要的基本包中的所有内容。任何插件或附件都会成为动态加载的其他模块。可能值得打破一个模块,但保持数字小。这也有助于加载时间。
不确定这个是不是一个好主意,但我喜欢将View和ViewModel接口保存在与View / ViewModel本身相同的文件中。我喜欢这个,因为MVVM模式可以生成很多文件,这样可以减少文件数量。缺点是Inteface和它的实现更难分开,但我不太可能需要这样做,而且这种技术不会干扰测试,这是另一个好处。
视图往往会进入Views文件夹,然后进入每个View的文件夹。每个View的文件夹包括View,ViewModel和Presenter(如果需要)。
从参考实现中,为需要在模块之间共享的所有公共类创建基础结构项目。参考实现有更多细节,但这可以用于各种事情,如公共服务接口,常量等。