业务逻辑是什么?
不同的项目有不同的功能,不同的功能需要不同的实现,实现这些核心功能的代码就叫业务逻辑。
让你实现一个功能,给你两个数,让你获取它的和,你所写的如何才能获得任意给定的两个数的和,这个程序实现过程称为业务逻辑处理。
就像家里规矩–“吃饭前必须洗手”“有客人来要起立”-就是业务逻辑的生活化实例。
简单来就是在怎么做事(how to do), 比方说你去餐馆吃饭, 你点了个炒米粉,服务员给你下单,厨房见到单后下锅给你炒,你吃完后付账。这一些列动作都可以说是业务逻辑。
业务逻辑就是客户的逻辑。在 N 层架构的系统中,经常会提到这些名词。
表现层(Presentation layer)
业务逻辑层(Application layer)
数据访问层(Data layer) ,
在一个系统开发过程中,后台做一些处理,如果成功,则跳转到 success_xxx 页面,如果失败,则跳转到fail_xxx 页面,如果系统抛出了异常,则跳转到 5xx 页面,…… 这些属于页面逻辑。
还有一些持久层的逻辑,也就是对数据库的操作。
业务逻辑是核心逻辑,只关注用户的业务,比如管理系统和财务系统,需要处理的业务肯定不一样,但是页面的跳转大致相同,对于持久层的操作也差不多。如果你使用了 SSH 框架,那么 hibernate 和 struts 的代码有很大一部分可以复用
业务逻辑(BL Action)不关心页面如何跳转,只是简单的返回成功,或是失败,或是异常,struts 框架根据配置文件跳转到相应的页面。
业务逻辑也不关心数据如何存储,是存储在文件系统,还是存储在数据库系统。是存储在MySQL,还是NoSQL。也不关系到底用没用缓存。
杀人和投票的业务逻辑上有什么区别
杀人和投票页面区别之处
杀人:点击杀手弹出提示框;
投票:杀手,平民都可以点击;
杀人:确定后传值用于刷新法官页面到步骤1完成的状态
投票:确定后传值用于重置有限状态机状态
杀人:确定后天数不变,如果游戏结束天数+1且传个值用于隐藏游戏进程当天白天的信息
投票:确定后天数+1,如果胜利天数不变
杀人和投票页面相同之处
1.根据法官页面传来值改变文本
2.点击玩家提取序号,确定后存入死亡玩家数组,存活杀手或平民-1
3.不选择玩家不能离开
4.死亡玩家变色,且移除点击事件
5.胜利判断