后端代码的复杂性是通过除法和规则来解决的。首先,通过拆分项目,项目之间可以存在依赖关系,但必须是单向依赖而不是环依赖。如果存在环,我们必须考虑将环依赖分解为单独的项目来解决环依赖。
对于项目中的代码,可以通过水平拆分和垂直拆分来降低复杂性。水平层分为控制器、服务、Dao和sqlmap,垂直层分为系统、biz1、biz2、Bizn,但在数据通畅连接中,水平拆分和垂直拆分相结合,如下图所示:
通过这种分层方式,代码层是分开的,结构清晰。对于一些跨模块调用的接口,如同一个数据表需要在不同的模块中操作时,可以将该接口作为公共接口升级到上层cxmodule,对于一些可重用的、相对独立的功能,可以在cxmodule中定义一个干净的接口,业务逻辑可以通过在模块的功能模块中实现接口来实现,而不需要使用spring的事务管理机制,从而降低代码的复杂度。
目前,大多数研发团队都要求用代码实现业务逻辑,SQL操作往往是最基本的操作。用SQL表示业务逻辑,即用存储过程表示业务逻辑,是一种传统的开发方案。
在C/s时代,很多逻辑都是通过SQL来实现的,主要是因为业务规模和部署方式。在早期的C/s编程时代,它通常是在非分布式环境中开发的,在大多数情况下,它不需要考虑可移植性问题。这时,使用SQL来完成业务逻辑就更方便了。
使用存储过程来完成业务逻辑的最大优点是性能会更好,但这也取决于业务的大小。如果业务规模过大,业绩会更差。早期的数据存储规模比较小,所以使用存储过程比较方便。
当前网络发展已进入大数据、云计算时代,业务类型和业务规模发生了巨大变化。特别是随着NoSQL数据库在大数据时代的广泛应用,使用SQL语句来完成业务逻辑的场景越来越少。而且,目前大多数程序都是分布式的,使用SQL存储过程处理业务逻辑非常麻烦,会导致整个项目的可移植性和可读性严重下降。
目前,在传统企业的开发团队中,使用SQL来处理业务逻辑是相当普遍的,因为传统企业的数据库大多还是关系数据库,没有可移植性的要求。这种固定的场景开发可以使用SQL来处理业务逻辑。在将来,使用SQL处理业务逻辑时会出现一些应用场景,因此有必要学习如何编写存储过程。
现在很多公司的开发人员都应该采用MVC架构。
MVC是所谓的模型、视图、控制器。
每一层都有明确的分工。
对于简单的项目,不管nignx如何,网关通常都会将请求从前端发送到后端,首先发送到控制器,然后发送到服务层,然后发送到Dao层。
这里的服务层就是所谓的业务层,专门负责业务处理操作,而Dao层则负责处理数据库,将数据库中的数据带回服务,经过服务处理后返回控制器层。控制器通过视图解析器解析页面,并通过浏览器呈现页面。
基本上,我认为答案是显而易见的。也就是说,Java业务逻辑是在服务层编写的。
事实上,服务层涉及接口和接口实现。
在编写代码时,我们通常为控制器定义一个调用接口。
实际上,服务接口的实现类应该是编写业务逻辑的地方。
当然,许多公司可能有多个服务层,例如,有一个管理层继续对数据进行特殊的业务处理。这里只是一个简单的概述。
每个公司的每个项目根据其自身业务可能有不同的体系结构。但本质是一样的。
综上所述,业务逻辑必须作为一个独立的层来处理,这样便于扩展和维护。记住不要在控制器中编写所有业务逻辑。
每一层都有自己的分工,是捏合在一起的。代码不仅冗长,而且杂乱无章。
好吧,我希望我的回答能帮助你
!如果你有兴趣,可以关注一下,一起学习交流
异或操作(^)基于二进制数据。也就是说,当代码中使用异或运算时,这两个条件在运算前会被转换成二进制数据。如果外国同一个地方的值相同(均为0或均为1),则为0;如果值不同(一个为0,一个为1),则为1。例如,int a=4,int b=6,int c=a^b//c的值是a和b的异或。过程1和a的二进制值是0000 0100//,因为高位相同,所以低8位被删除。2异或后B的二进制值为0000 0110 3,0000 0010//结果为2
dns114是什么?114此IP地址属于公共域名解析服务DNS之一,由于它不是用于商业目的,因此此DNS非常纯净,不需要担心ISP运营商造成的DNS劫持等问题,并免费提供给用户。114是中国移动、中国电信和中国联通常用的DNS。它可以在手机
单位建立的网站属于固定资产吗?还是无形资产?或者是管理费用?花了5000建立网站?数据和其他东西当然属于无形资产。只有服务器属于固定资产。如果网站是托管的,那么就只有无形资产
怎样得到别人网站的源码?通过浏览器可以查看工具箱中的源代码。这是Android的WebView外壳浏览器,非常小。类似的浏览器可以查看源页面。另外,Chrome浏览器可以下载网页,当你在本地存储器中拥有与TXT相同的名称和后缀后,你就可以查
网页设计与制作要学什么软件啊?网页设计首先要学会使用Dreamweaver和Photoshop。这两个软件是开发网页的必要工具。1. DreamweaverAdobe Dreamweaver,英文缩写“DW”,中文名“dream weave
想学特效视频制作,有什么好的软件推荐?我已经使用了这三个软件,并一直在教学生如何回答这个问题。事实上,让一个会用的人、一个不会用的人和一个正在学习使用的人来评估一个软件是否难学,肯定的答案是不同的。能使用它的人会说它很简单,不难。已经用了很
茶农怎样推销茶?茶有自己的回头客。
自学设计有哪些好用的网站?我要自学网,软件自学网,网易云教室,腾讯教室,中国大学MOOC这些都不错!
iosscenekit和spritekit有什么不同?[spritekit]IOS 7内置了一个新的spritekit框架,主要用于开发2D游戏。是在IOS和OSX下开发的2D游戏引擎,可以用oC或swift来开发。目前支持的内容包括:精灵
一根网线接两个水晶头影响网速吗?对于“一根网线连接两根网线”的情况,用户应使用一条宽带上的路由器进行网络分流,并分别用于不同的设备。这种流媒体使用,如果多个流媒体设备同时接入互联网,会影响用户的宽带网速。如果只有一个用户可以上网,网速不会受
公司一般用什么邮箱比较好?我认为常用的电子邮件是腾讯QQ电子邮件和网易电子邮件。企业邮箱注册方法有哪些?如果您想申请网易的免费企业邮箱,您必须首先满足两个条件:1。网易邮件。一个域名如果你同时拥有这两个域名,好的,你可以通过下面的链接直接开