在.NET RIA服务中,您可以在服务器上编写后缀为.shared.cs或.shared.vb的代码,并且可以在客户端上使用该代码。
我的问题是我为什么要这个?
假设我使用一个具有适当业务对象的域模型和一个viewModel,我所需要的所有代码不会都存在于这些类中吗?这看起来像是全局代码,可能会成为潜在的垃圾场,因为开发人员没有正确设计,现在在共享代码中有许多类,这些类可能属于业务层或UI层。
我这样想是对的,还是我遗漏了一些基本的东西?
以下是共享代码的一些场景:
服务器和客户端上常见的计算属性。假设我想在我的产品类中添加一个imageurl属性,它是产品ID的函数,并在服务器和客户机上使用该属性。
共享验证代码。使用同一个产品类,假设我有一个验证规则,产品的描述属性必须是一段文本。我可以编写该规则一次,并将其附加到产品或其描述属性,并使其共享,这样我就可以在客户机和服务器上进行验证。
实用程序类也同样有趣。我可能有一个实用程序类来进行计算或者被验证规则引用等等。
希望有帮助。