什么是业务逻辑?

发布于 2022-09-01 05:35:09 字数 51 浏览 18 评论 0

对这个概念不是很清楚,还常听到业务逻辑层,那么是个业务逻辑在代码中指的到底是什么呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

无言温柔 2022-09-08 05:35:09

开玩笑的说,“业务逻辑”就是“不讲逻辑”
比如你开发了一个收款系统,一件商品卖10元钱。有人买了10个就是100元。这个很有逻辑。但是这时候客户说了:“不行,我们搞活动买10个打8折,所以总价是80元”,这就是业务逻辑。
这种逻辑和程序员可以推断的常理来说的逻辑不同,比如,一个商品的价格保存以后,除非有人改动,下次读取应该保持一致,比如不能把一个价格除零。业务逻辑是由客户的需求所决定的。另外经常这种逻辑是容易改动的。
在程序里用专门的模块或者层来处理业务逻辑,可以隔离这种变化对程序其它部分的影响。

谎言 2022-09-08 05:35:09

业务逻辑就是客户的逻辑@Ke_Wu @酷瓜哥哥 的回答已经很好了,那我就聊聊什么不是业务逻辑

在 N 层架构的系统中,经常会提到这些名词。

  • 表现层(Presentation layer)
  • 业务逻辑层(Application layer)
  • 数据访问层(Data layer)

在一个系统开发过程中,后台做一些处理,如果成功,则跳转到 success_xxx 页面,如果失败,则跳转到 fail_xxx 页面,如果系统抛出了异常,则跳转到 5xx 页面,…… 这些属于页面逻辑

还有一些持久层的逻辑,也就是对数据库的操作。

业务逻辑是核心逻辑,只关注用户的业务,比如管理系统和财务系统,需要处理的业务肯定不一样,但是页面的跳转大致相同,对于持久层的操作也差不多。如果你使用了 SSH 框架,那么 hibernate 和 struts 的代码有很大一部分可以复用。

业务逻辑(BL Action)不关心页面如何跳转,只是简单的返回成功,或是失败,或是异常,struts 框架根据配置文件跳转到相应的页面。

业务逻辑也不关心数据如何存储,是存储在文件系统,还是存储在数据库系统。是存储在MySQL,还是NoSQL。也不关系到底用没用缓存。

如果你正在学用 PHP 开发网站,那么忘掉这些概念吧。如果你使用 Java 的框架开发企业级应用,建议看看 SSH 的源码或者 DEMO。

<逆流佳人身旁 2022-09-08 05:35:09

简单来就是在怎么做事(how to do), 比方说你去餐馆吃饭, 你点了个炒米粉,服务员给你下单,厨房见到单后下锅给你炒,你吃完后付账。这一些列动作都可以说是业务逻辑。

苍风燃霜 2022-09-08 05:35:09

请问下如何破解知道如何实现‘业务’的过程,但是并是对‘术语’,‘概念’性的知识无印象,功能实现了,确无法用专业术语解译?
@justjavac

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文