这对于多层应用程序来说是一个很好的设计吗?

时间:2015-01-13 12:13:56

标签: architecture multi-tier

我被要求编写一个多层应用程序。 它有一个数据库来读取数据和视图。 我想过这样设计:

  • DAL,它具有我实际数据库的实体框架对象和db。
  • 的方法
  • 调用DAL方法的WCF服务。
  • RunService项目以运行WCF服务。
  • BL,具有WCF服务的服务引用并具有所有业务逻辑
  • 显示数据的控制台视图。

这是一个很好的架构吗? (我需要向其他人展示我知道如何设计它并使用多层架构,而不是更多)。

1 个答案:

答案 0 :(得分:1)

我发现这个想法的说明有点混乱。它没有需求和混合逻辑视图(像DAL和BL这样的概念,但没有提到SL)和带有部署视图的实现视图(WFC)(RunService项目)。

当你考虑建筑时,将其视为分形可能会有所帮助。

您是否尝试使用基于WCF的服务基础架构包装DAL?但是有一些轻量级的" BL" (检索或保存数据总是有额外的语义,数据本身无法提供)在WCF服务内写入?

查看此链接WS Application Architecture的图表。下方框的每项服务"服务"可以构造为上面框中的服务,具有自己的DAL(资源层),BL,服务接口层(如果需要,可以基于WCF,但这是一个实现细节)。

因此,如果您的要求是:

  • 提供一层高级服务(服务组合)
  • 数据源只能由低级服务层访问
  • 必须构建每个服务,尊重共享的体系结构模板(例如链接的模板)

然后:

  • 首先:了解服务使用其他服务的面向服务架构
  • 第二:显示您对服务架构模板的想法,并对您建议的技术提示一些
  • 第三:做一些例子来证明这种设计的额外复杂性