2011-12-21 88 views
0

好的,我已经有了这个WCF服务。它具有公共访问权限,这是主服务本身(HydSQLService),它包含用于访问数据库的DataContext。这个DataContext由SQLMetal.exe生成,尽管我创建了一个部分类来填充部分方法。WCF服务的图层

所以这个问题更多的是关于如何分层这个应用程序。目前,该服务(即公开暴露的位)持有对DataContext对象的引用。它通过这个来访问SQL数据库。

我打算在这些服务器端验证之间添加一个图层,但我不确定是否缺少图层或其他东西(我对这一切有点新鲜)。

那么这是正确的层数?它的结构是否正确,或者我做了一些可怕的监督?建议将受到欢迎。

回答

2

答案是 - 一如既往 - 取决于。

要了解所描述的架构的优缺点,我们需要了解更多关于您正在使用的需求和环境的知识。但是,您拥有图层的事实可能是件好事。事实上,你正在考虑你的应用程序的这个方面,这绝对是一件好事。

一般情况下,我们添加图层来解决一些挑战:

  • 分离的担忧。有一个图层处理应用程序的一个方面(并处理好)很少是一件坏事。这允许您撕掉该图层并替换它,而不用重写应用程序的其余部分。
  • 可测试性 - 对隔离层进行测试(例如自动化单元测试)以确保工件正常工作通常是有益的。
  • 摘掉一些常用功能(数据访问,验证等)。这可以使应用程序更容易维护。例如,不必在业务对象层中维护一堆数据访问特定代码就很好。

这类问题很难在这方面具体回答。你会进行更深入的审查,以获得你正在寻找的反馈/方向。

+0

谢谢。说实话,我已经陷入了一些问题,而且很难知道要问的确切问题。即使如此,我认为你已经给了我一个彻底和耐心的答案,我感谢你。我会考虑我的申请,并尝试制定一些更具体的内容。 – TheFaithfulLearner 2011-12-21 19:04:25