我正在使用WPF,棱镜和统一来开发.net应用程序的用户界面。UI将从PC上运行,但我还需要开发一个单独的复杂服务器组件,该组件将通过WCF向PC组件提供服务。
棱镜和统一已经证明在创建一个模块化的应用程序中有很大的价值,至少就用户界面而言是如此。我也想使服务器组件模块化,但我在任何地方都找不到适合的技术、模式和技术。我考虑过:
这些是否适合于开发模块化的服务器组件?还是这些UI技术是唯一的,我应该看到完全不同的东西吗?
发布于 2012-10-08 14:34:15
为了确保服务器端组件的模块化,有几个很好的指导原则需要遵循,在设计程序集时要记住一个好的经验法则,它们的责任边界可以使客户端的客户端请求更容易地满足。这将帮助您设计服务器端组件,使其能够在多个场景中更干净地完成其任务。
我建议读一读这个:http://apparch.codeplex.com/releases/view/19801
尽管如此,我的一般性建议如下:
发布于 2012-10-08 17:41:07
WCF服务和MVVM足以提供您以松散耦合、模块化和可伸缩方式描述的功能。
我怀疑您的困惑可能来自于将模型和WCF服务看作只是检索数据的一种手段。但是,一个服务可以不仅仅是数据提要堆栈中的另一个层。服务可用于触发临时操作、计算或应用程序可能需要的任何其他内容。因此,模型和服务都可以由对一个或多个其他服务的调用组成。
在抽象的层次上,服务仅仅是一个可调用的函数,它可以实现一个契约。它不在乎契约行为是面向数据的还是面向服务器的。
如果只需要调用特定的服务而不交换身份验证令牌以外的任何数据,那么您的模型可能就没有什么好处了,即使是这样。在某些场景中,这是完全可以的,这取决于服务正在做什么。
https://softwareengineering.stackexchange.com/questions/167962
复制相似问题