考虑您有2个课程:学生和课程以及课程可以通过学生的方法添加到学生。
class Course{ public string Name;}
class Student {
public string Name;
private List<Course> courses = new List<Course>();
public ReadOnlyCollection<Course> Courses {get {return courses.AsReadOnly();}}
public Add(Course course) { if (courses.Count <= 3) courses.Add(course);}
}
以上是服务器上的业务实体,Add方法可以内置更多的业务逻辑。
现在,当需要在Silverlight客户端中显示业务实体时,我必须创建一个Web服务,该服务将公开一个可以将Student对象发送到客户端的方法。
我的问题是:我是否需要在Silverlight客户端最终使用的实体上复制业务逻辑?或者通过其他技术/ sdk / toolkit有更简单的方法吗?或者是否可以在Silverlight客户端中重用上述业务实体?在哪种情况下,有一种简单的方法可以将数据从Web服务代理对象复制到业务实体上?
答案 0 :(得分:1)
查看RIA服务。它使您能够在服务器和客户端业务对象之间拥有共享逻辑(您为服务器编写代码,并自动编码在客户端对象中生成逻辑)。或者,如果您不想使用RIA服务,请尝试我在RIA服务前几天所写的方法:http://www.silverlightshow.net/items/Building-a-Silverlight-Line-Of-Business-Application-Part-3.aspx
希望这会有所帮助......
Chris Anderson