在实际开发过程中,总是想把表现层与逻辑层分离开来,对于WinForm来说,能分离出部分,还有相当一部分逻辑层代码在表现层,为以后的软件维护带来许多不必要的麻烦。
对于WPF,可以充分利用数据绑定以及值转换,还可利用CollectView来将业务层从表现层分离出来。还可以利用WCF及dataService来进行数据交换,提到dataService就不能不提实体框架层。只有利用WCF和DataService将实体框架层数据转换,并根据数据层实体类属性触发WPF表现层,可很好的分离表现层和业务层的关系
具体这几个工具之间的关系,只有用实际的例子才能阐述明白,我前一段时间学习了WPF的数据绑定和样式、模板及主题,这是将业务层嵌于表现层的主要方法。
可对于表现层与业务层之间的交互,WPF框架是不错的选择。
业务层与数据层之间则可通过WCF及ado.net DataService来做规划,设计,以及数据同步的实现,这不能不说是ado.net DataService的独到之处。然后利用ado.net Entity FrameWork来实现与数据库层之间的关联。
推荐几本书:Data-Driven Services with Silverlight 2以及Expert C# 2008 Business Objects这两本书有关于这几者之间关联的论述