0

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

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

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

4

1 回答 1

1

我觉得这个想法的阐述有点混乱。它缺乏需求和混合逻辑视图(如 DAL 和 BL 的概念,但没有提到 SL)与部署视图(RunService 项目)的实现视图(WFC)。

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

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

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

因此,如果您的要求是:

  • 提供一层高级服务(服务组合)
  • 数据源只能由底层服务访问
  • 必须根据共享的架构模板(例如链接的模板)构建每个服务

然后:

  • 首先:查看面向服务的架构,其中服务使用其他服务
  • 第二:展示您对服务架构模板的想法,并暗示您建议的技术
  • 第三:做一些例子来证明这种设计的额外复杂性
于 2015-01-15T09:38:49.567 回答