WCF应用程序通常属于分布式的SOA方案为了体现服务契约的特点有必要在设计WCF应用程序时注意程序集的划分 原则上我们需要将服务契约数据契约服务实现分为单独的三个程序集这样可以在一定程度上解除服务契约与服务实现的耦合也便于对数据契约对象的管理更重要的是WCF客户端可以有效地重用服务契约程序集与数据契约程序集 假定该应用程序名为WCFSolution则各自的程序集以及命名空间为 服务契约WCFSolutionServiceContract 数据契约WCFSolutionDataContract 服务实现WCFSolutionServiceImplementation 三者的依赖关系为服务契约依赖于数据契约服务实现依赖于服务契约与数据契约在部署客户端时不需要提供服务实现类的程序集 以上设计看似简单然而一旦我们从一开始就养成了良好的设计习惯会在以后进行WCF应用程序的开发时起到事半功倍的效果 实际上这同样体现了分层式架构的思想 |