1

就在最近,我们的应用程序扩展为支持 4 种不同的 UI。

我们将业务逻辑集成到我们的数据层中。

我们没有将 UI 与数据层分开的物理业务层。通常在 UI 中,直接调用数据库。显然,这会导致问题。

我的问题是,我是否应该实现一个物理业务层,并且随着时间的推移,将数据层中的现有逻辑迁移到新的业务层。或者我应该将业务层与数据层保持在同一个 dll 中?

您对在没有业务层的应用程序中添加业务层有何想法?

4

1 回答 1

2

您绝对应该通过在不同层中做事来引入一些关注点分离。从 UI 中直接引用数据库的架构并不完善,并且会导致紧耦合以及后期维护和扩展方面的困难。

进行这种分离的最佳时间是在开始时,不涉及重构成本,但如果您期望产品会扩展,那么现在这样做也会在可扩展性和维护方面带来显着的好处。

是一种引入服务层的方法,该服务层位于模型之上,并公开被多个 UI 和网关重用的相同功能。该层可帮助您跨所有接口和所有公开的服务(如果您需要公开功能/数据)统一业务逻辑,这非常重要 - 当您可以做的时候,您绝对不想在多个地方创建和更改事物它在一个地方,并保证 100% 的一致性。

EAA 的 P - 服务层

关于在不同 dll 中物理实现逻辑的问题部分,我认为这不是那么重要和必要 - 您将获得使用单独层而不必物理分离它们的最重要好处。如果您计划扩大规模并且您认为在多台机器上拥有同一层的多个实例将解决您的问题(例如使用某种负载平衡方法之王),那么这可能是有意义的,但否则我认为不会必须这样做。

祝你好运!

于 2015-04-23T08:34:25.740 回答