Java Web开发中,业务逻辑写在SQL里好还是代码里好呢?有什么建议吗?
谢邀~关注我,了解更多关于开发、架构的分享
个人建议,普通的业务逻辑尽量写在后台代码中,尽量避免写在SQL中,并且尽量避免使用存储过程。
不可否认将业务逻辑写在SQL或存储过程中,也是有这种做法的优点,比如:可以减少网络交互的成本,原本后台程序需要多次访问数据库,现在可以用复杂的SQL或者存储过程封装好,然后程序调用一次即可。
但是复杂SQL和存储过程也有很大的缺点:
不可移植性,每种数据库的语法多多少少都会有一些差异;如果SQL中使用到数据的一些函数、方法,而这些又是该数据独有的,那么很难做数据库的迁移。
业务逻辑会存在SQL和程序中,这种业务逻辑多处存在,会让后期的系统维护和调试都变得更加困难。
数据库中所支持的函数及语法不一定可以满足所有的需求,相比来说,编程语言中的功能更加的强大。
如果SQL、存储过程中有复杂的计算,也会增加数据库机器的压力;并且很难做到分布式部署。
相比编程语言,业务逻辑写在SQL、存储过程中,很难做到业务逻辑的抽象,所以从代码复用的角度来看,编程语言更胜一筹。
所以,普通业务逻辑尽量不要使用复杂SQL或存储过程,而如果是报表统计或者ETL抽取等功能,可以根据实际的情况,采用复杂SQL或者存储过程来处理。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
如果是小项目,业务层写在存储过程中也无妨,如果是大型项目,劝你还是封装起来写代码里,假设大型项目的业务层写在存储过程中,抛开性能不说,后期维护起来豪不夸张的说就三个字:要你命
关于这个问题应该分场景,不能一概而论。中小项目推荐使用存储过程解决大部分业务,代码量少,方便维护。大型项目涉及到分布式,缓存等等,考虑到数据库的开销就不建议太过依托数据库处理了,因为大并发下数据库处理复杂业务根本处理不过来。
Java开发写业务逻辑代码难不难,是自己创造还是根据文档说明书?
谈到开发逻辑,其实每种语言都差不太多。
但每种语言都有适合自己最擅长的领域。比如PHP在开发网页后端方面,开发效率很高。Python最初是胶水语言,在开发分析任务啊,脚本任务方面比较常见。Go在开发高并发应用有天然优势。C语言呢,擅长和硬件打交道,单片机基本用C的比较多。
JAVA最初大规模应用于商业开发,所以在多人合作,代码规模较大时,容易保持代码结构清晰,减少软件后期的维护成本。
在做商用开发时,个人建议还是尽量按照规范来写,毕竟JAVA的其中一个优势就是规范化。当然,在学习写JAVA代码的时候,也可以不按规范写一些实验代码,但要注意,不要让不规范的写法习惯带入到自己的编码习惯里面,否则后期不好改正。
谢谢邀请!
写业务逻辑代码通常是Java程序员的主要工作内容,大部分业务逻辑代码并没有太大的难度,只要按照业务规则编写就可以了。
Java代码编写有多个角色参与,不同的角色有不同的任务划分,通常情况下在项目功能设计结束之后,架构师就会开始进行架构设计和顶层的接口设计,具体会包括项目的结构划分,技术选型等具体内容。
大部分软件开发项目都分成两个大的组成部分,一部分是“容器开发”,容器开发是整个系统开发的核心,主要的基础性功能都封装在容器当中,另一部分是“应用开发”,应用开发就是根据业务逻辑规则进行具体的功能编写,通常需要调用容器提供的基础性功能接口来完成。从这个角度来看,业务逻辑代码的编写属于应用型开发,所以并不会有太大的难度。
通常情况下,做容器开发的程序员往往就是所谓的“研发级程序员”,容器开发涉及到的内容包括系统级功能、资源管理、并发管理、角色管理等内容,开发内容包括大量的算法设计和实现,同时还要考虑到系统的稳定性和性能,这部分开发内容需要丰富的经验,同时需要程序员具备一定的研发能力和研究方法。
做应用级开发的程序员往往都是调用容器提供的功能进行具体的功能组织,大部分程序员都是从应用级开发开始做起的,这部分程序员的工作虽然难度不大,但是内容却比较多,因为大量的业务逻辑都需要应用级程序员完成,所以工作压力还是比较大的。
当前,随着软件开发流程逐渐规范化,所以大部分应用级程序员都会有对应的开发任务文档,每天的任务都比较清晰,只要按照任务文档进行开发和提交就可以了。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续在头条写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网方面的问题,也可以咨询我,谢谢!
学java需要英语好吗,逻辑思维不好可以学java吗?
做开发的,如果英语好的话,那么帮助是非常大的,在以下几个方面
- 读文档
一些好的框架几乎都是国外的,而文档基本也都是英文的,如果你能看的懂,那么你会很快上手并躲过很多坑
2. 查问题
不踩坑的程序员不是好程序员,掉坑里的时候基本都会都网上搜一下,中国人嘛基本用百度的多,但如果你英语好,你就可以找到很多英文的资料,尤其是stackoverflow这样的站点基本是程序员必备
wx搜索 爱捡漏 小程序,请支持我开发的产品吧,码HATGSG
3. 看代码
开源项目好多都是歪果仁主导的,其中的代码和注释是最直接的,英文好的可以很快上手,例如jdk的注释其实非常好,如果你看的懂,你会很容易了解内部实现机制
4 写代码
你必须得信,英文不好的人写的代码很难让别人看懂,变量、方法、类的命名让你摸不到头脑
所以,其实不只是JAVA, 只要你是从事软件开发行业,那么英语好会让你更加容易一点,本人的英语还算不错,英语给我带来的好处非常明显,切身体会。至今我仍然保留着看英文文档的习惯。
学java需要英语好吗?
首先肯定是需要懂点英文的,毕竟编程都是用英文的。后期肯定要学好英文的,很多开发技术文档、库Api使用说明、开源框架都需要英文才能看得懂的。其次,学好英文到时候可以去一些互联网外企性质企业工作,全程都是英语交流代码,薪资待遇和加班情况肯定也会好的多。
逻辑思维不好可以学习java吗?
肯定是可以学习的,逻辑思维高低只会影响你能否成为大牛,但也不是绝对影响。Java或其它编程都是有框框架架,简单点说都是有套路的。只要你勤奋点,熟悉这些套路,先入门再多加练习项目,足以胜任一份Java工作。公司招人也不是全招大牛级别人物,公司也需要中底层阶段的软件工程师。
逻辑思维不好后期也要努力加强锻炼,可以从以下几个方面来加强:
1.多看看数学方面的书
2.多练习下数学算法
3.多模仿和学习开源代码里的逻辑框架
以上就是对2个问题的回复,建议你不要犹豫了,尽快树立目标开始努力去学习吧!

