在 3 层架构中实现业务逻辑

Posted

技术标签:

【中文标题】在 3 层架构中实现业务逻辑【英文标题】:Implementing Business Logic in 3 Tier Architecture 【发布时间】:2010-12-07 16:12:25 【问题描述】:

我正在开发一个 Web 应用程序,到目前为止,我已经完成了数据访问层。每个表都有自己的类,该类创建该表的行对象,因此每个对象代表表的一行。每个对象的功能基本上都是CRUD操作。

我的问题是,为应用程序实现业务逻辑的最佳方式是什么?我在 php 中执行此操作,因此我可以只包含一个包含大量函数的文件,但我希望将其组织得更好。数据访问层已经采用了面向对象的方法,所以我想继续这样做。

【问题讨论】:

你能解释一下吗? 数据层是用PHP编写的 【参考方案1】:

不要将 php 用于业务逻辑。

如果您在带有 SQL Server DB 的 WinTel 服务器上运行,我会在 .Net 框架上使用 C# 或其他语言。

如果您使用的是 Linux / Oracle / Solaris 之类的系统,带有 Oracle / PostgreSQL / mysql DB,我会使用 Java,但 SO 上的许多人可能会使用 Python。

您可以使用不同的组合,但我列出的两种通常会更容易。有各种通过抽象层与数据库交互的最佳实践,其中任何一种都可以让您轻松地将业务层的功能公开为 REST 或基于 SOAP 的 Web 服务。您可以在 PHP Web UI 中使用它们。

【讨论】:

【参考方案2】:

通常 Java 或 .Net 提供了一种更有条理的方式来处理 Web 应用程序的 n 层架构模型。如果提供有关您创建数据层的语言的更多信息,则可能有助于以更正确的方式回答您的问题。

【讨论】:

以上是关于在 3 层架构中实现业务逻辑的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中实现 3 层架构

三层架构之业务层逻辑层

三层架构之业务逻辑层

3层架构业务逻辑层无逻辑

清晰架构(Clean Architecture)的Go微服务: 事物管理

在没有UI锁定的情况下在MVVM中实现长时间运行的业务逻辑