对这个概念不是很清楚,还常听到业务逻辑层,那么是个业务逻辑在代码中指的到底是什么呢?
开玩笑的说,“业务逻辑”就是“不讲逻辑”比如你开发了一个收款系统,一件商品卖10元钱。有人买了10个就是100元。这个很有逻辑。但是这时候客户说了:“不行,我们搞活动买10个打8折,所以总价是80元”,这就是业务逻辑。这种逻辑和程序员可以推断的常理来说的逻辑不同,比如,一个商品的价格保存以后,除非有人改动,下次读取应该保持一致,比如不能把一个价格除零。业务逻辑是由客户的需求所决定的。另外经常这种逻辑是容易改动的。在程序里用专门的模块或者层来处理业务逻辑,可以隔离这种变化对程序其它部分的影响。
业务逻辑就是客户的逻辑。@Ke_Wu @酷瓜哥哥 的回答已经很好了,那我就聊聊什么不是业务逻辑。
在 N 层架构的系统中,经常会提到这些名词。
在一个系统开发过程中,后台做一些处理,如果成功,则跳转到 success_xxx 页面,如果失败,则跳转到 fail_xxx 页面,如果系统抛出了异常,则跳转到 5xx 页面,…… 这些属于页面逻辑。
还有一些持久层的逻辑,也就是对数据库的操作。
业务逻辑是核心逻辑,只关注用户的业务,比如管理系统和财务系统,需要处理的业务肯定不一样,但是页面的跳转大致相同,对于持久层的操作也差不多。如果你使用了 SSH 框架,那么 hibernate 和 struts 的代码有很大一部分可以复用。
业务逻辑(BL Action)不关心页面如何跳转,只是简单的返回成功,或是失败,或是异常,struts 框架根据配置文件跳转到相应的页面。
业务逻辑也不关心数据如何存储,是存储在文件系统,还是存储在数据库系统。是存储在MySQL,还是NoSQL。也不关系到底用没用缓存。
如果你正在学用 PHP 开发网站,那么忘掉这些概念吧。如果你使用 Java 的框架开发企业级应用,建议看看 SSH 的源码或者 DEMO。
简单来就是在怎么做事(how to do), 比方说你去餐馆吃饭, 你点了个炒米粉,服务员给你下单,厨房见到单后下锅给你炒,你吃完后付账。这一些列动作都可以说是业务逻辑。
请问下如何破解知道如何实现‘业务’的过程,但是并是对‘术语’,‘概念’性的知识无印象,功能实现了,确无法用专业术语解译?@justjavac
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(4)
开玩笑的说,“业务逻辑”就是“不讲逻辑”
比如你开发了一个收款系统,一件商品卖10元钱。有人买了10个就是100元。这个很有逻辑。但是这时候客户说了:“不行,我们搞活动买10个打8折,所以总价是80元”,这就是业务逻辑。
这种逻辑和程序员可以推断的常理来说的逻辑不同,比如,一个商品的价格保存以后,除非有人改动,下次读取应该保持一致,比如不能把一个价格除零。业务逻辑是由客户的需求所决定的。另外经常这种逻辑是容易改动的。
在程序里用专门的模块或者层来处理业务逻辑,可以隔离这种变化对程序其它部分的影响。
业务逻辑就是客户的逻辑。@Ke_Wu @酷瓜哥哥 的回答已经很好了,那我就聊聊什么不是业务逻辑。
在 N 层架构的系统中,经常会提到这些名词。
在一个系统开发过程中,后台做一些处理,如果成功,则跳转到 success_xxx 页面,如果失败,则跳转到 fail_xxx 页面,如果系统抛出了异常,则跳转到 5xx 页面,…… 这些属于页面逻辑。
还有一些持久层的逻辑,也就是对数据库的操作。
业务逻辑是核心逻辑,只关注用户的业务,比如管理系统和财务系统,需要处理的业务肯定不一样,但是页面的跳转大致相同,对于持久层的操作也差不多。如果你使用了 SSH 框架,那么 hibernate 和 struts 的代码有很大一部分可以复用。
业务逻辑(BL Action)不关心页面如何跳转,只是简单的返回成功,或是失败,或是异常,struts 框架根据配置文件跳转到相应的页面。
业务逻辑也不关心数据如何存储,是存储在文件系统,还是存储在数据库系统。是存储在MySQL,还是NoSQL。也不关系到底用没用缓存。
如果你正在学用 PHP 开发网站,那么忘掉这些概念吧。如果你使用 Java 的框架开发企业级应用,建议看看 SSH 的源码或者 DEMO。
简单来就是在怎么做事(how to do), 比方说你去餐馆吃饭, 你点了个炒米粉,服务员给你下单,厨房见到单后下锅给你炒,你吃完后付账。这一些列动作都可以说是业务逻辑。
请问下如何破解知道如何实现‘业务’的过程,但是并是对‘术语’,‘概念’性的知识无印象,功能实现了,确无法用专业术语解译?
@justjavac