首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分层体系结构:应用与Infra层

分层体系结构:应用与Infra层
EN

Stack Overflow用户
提问于 2018-08-21 17:17:18
回答 1查看 1K关注 0票数 1

我开始学习软件体系结构( Software ),我看到了一些分层的架构实现,这让我感到困惑。

一般而言,这些解决方案有以下几个层次:

  • 表示层;
  • 应用层/服务层;
  • 域层;
  • 下/数据层;

我不确定:

  1. 我并不完全清楚每一层是如何工作的,它们的关注点是什么;
  2. 我不清楚哪些层与数据层通信。是应用层吗?有人说应用层不应该有任何关于数据层的参考或知识;

如果有人能回答我这些问题,或者推荐我一些资源来了解更多,我会很感激的。

谢谢,祝你今天愉快!)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-21 18:49:37

  • 表示层:顾名思义,这一层的关注点是用户看到或与其交互的内容。它包含UI逻辑,图形,表单,图像,.
  • 域层:--这是处理业务逻辑的地方。如果你正在写一个博客,这一层包含像帖子、用户、评论等对象和实体。如果你在写一个金融系统,它们将是分类账、帐户、货币等等。你的系统中最有价值的代码依赖于这里,因为它们满足了用户的关注。
  • 基础结构层:从经典意义上说,每个层都只访问底层,但有时这个层涵盖了多个层的关注点。所以我怀疑你能不能把这个称为经典意义上的一层。它包含应用程序范围广泛的抽象和基类,有时还包含交叉关注点等。
  • 服务层::“处理域逻辑的一种常见方法是将域层分成两部分,将服务层放置在基础域模型上”,Martin,PoEAA。正如Martin在他的书中所说(我建议您阅读这本书),这是您的域之上的一个层,以使您的域的使用更容易。这样客户就不需要知道任何关于领域复杂性的信息了。里面有正面。同时也是处理安全性、事务管理等问题的好地方。
  • 数据层:这个层管理存储逻辑。它可以是一个简单的文件,也可以是一些大型的关系数据库。在没有或很少有业务逻辑的简单项目中,数据层扮演“域层”角色,反之亦然。其实这不重要。重要的是,域模型和数据结构之间可能存在某种阻抗不匹配。数据层的主要关注点是为应用程序的其他部分(特别是域层)处理这一困难。

哪一层与数据通信?最重要的是域层。但这并不总是真的。假设您想在数据库中保存UI的一些用户首选项。因此,表示层也可以与数据层通信。实际上,任何层都可以与数据通信。重要的是,您应该使用模式和最佳实践(如IOC)来充分利用您的项目需求。

祝好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51953758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档