您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
做java的多数都是增删改查吗?
程序员,代码,都是做java的多数都是增删改查吗?
发布时间:2020-12-06加入收藏来源:互联网点击:
做java的多数都是增删改查吗?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
我的一位java小伙伴(7年开发经验)他曾说:“后端主要还是CRUD”......但他还曾说:“如果有人看不起我,说我只会增删改查,我一定和他急眼!”
这里,我会选择“急眼”劲头做答:Java开发当然不仅仅是增删改查,而且要丰富得多!如下:
1-1 起步-增删改查
的确,某些产品/项目非常简单,以至于后端差不多只需要搞个CRUD,想一想,如果是一个待办事项的清单,那就跟写'hello world'一样——你存储一些常规项目列表就完事了(......这就是为啥在应用商店中扒拉扒拉一大堆此类app的原因)。
但是!我只说了0,所有事物都是0到n的,后端想象空间是广阔的,自然可以从待办事项列表(0)一直延展到你可以想象到的最复杂最复杂的系统(n)。
我和前面那位朋友合作过的产品/项目,即有单纯后端CRUD的Web应用,该应用的前端代码复杂度几乎是后端的10倍;同时,我们也合作过比“单纯CRUD“复杂100倍的项目;
这种比“单纯CRUD“要复杂100倍的项目,究竟复杂在哪里?见下面2-1到2-4:
2-1 复杂-数据
首当其冲的是,开发的延展性和修改数据。这还不光是一个SQL数据库,而是好几个,甚至是分片数据库;如果是NoSQL的不同变体,会涉及到键值存储、文件存储、时间序列数据库、图形数据库和各种其它复杂的存储技术。有时,在同一系统中会使用几种不同的存储技术,如果是分布式存储,就会有许多工程挑战,譬如一致性和可用性约束,它们通常由后端做处理,又由此会有多层缓存......
2-2 复杂-传递
当不同的服务通过消息传递进行实时传输时,事件驱动的结构以及流处理会把后端开发的复杂性推向另一个高度,其背后是事务、异常和调试;为了支持分布式异步消息传递,后端通常需要各种后备机制,从而确保其不同的实体可以从容应对故障,保持系统正常运行。
2-3 复杂-集成
肯定有人会说,这是后端开发中最无聊的部分,不可小觑的是,大概率后端必须面对需要支持各种通信协议和标准(而且文档恐怕还不是很齐备),此外,会存在对开发者不透明的三方系统的依赖关系,意味什么?意味着需要适度的进行各种异常处理。
2-4 复杂-领域逻辑
你又说了,这才是最有趣的部分!这个有趣的部分正视我们所说的“业务逻辑”。听上去简单,那是因为这源自PM提供的一些条条框框的东西,需要用代码去诠释——客户下订单、查库存量.....库存数减订单数......一直到出库等等,这背后又各种各样的不可预知的“坑“,这些“坑”让开发变得相当复杂,想一想,这背后的域逻辑可能包含高级的算法......就像我那java小伙伴说的:“越是看似简单的产品,背后逻辑越是复杂”。
所以说,Java也是有大学问的语言,不仅限于增删改查。
回答于 2019-09-11 08:43:50
作为一名从业多年的Java程序员,同时也出版过Java编程书籍,所以我来回答一下这个问题。
首先,对于大部分初级Java程序员来说,如果面对的是Web应用级开发任务,确实会面对大量的增删改查操作,实际上很多Java程序员都是从“增删改查”走过来的,这个过程也能够积累一定的开发经验。但是随着当前云计算和大数据的发展,目前Java程序员的工作任务也有了一些较为明显的变化。
从当前的开发场景来看,目前Java初级程序员的工作任务有三大方面的变化:
第一:从数据库向接口迁移。目前大量的Java开发任务都在向接口方向迁移,这在近两年有非常明显的体现,一个主要原因是平台化趋势导致的。随着产业结构升级的持续推进,这种网络平台和业务系统之间的衔接问题往往需要通过接口来完成。相对于数据库编程来说,接口开发对于程序员的要求要稍微高一些,要求程序员对于Java抽象具有较为系统的了解。
第二:行业经验比较重要。早期的初级Java程序员通常并不需要具有较多的行业经验,只需要按照设计流程完成数据处理就可以了,但是目前在云计算平台的推动下,初级Java程序员也需要了解一定的行业知识,这是一个比较明显的变化。
第三:资源整合能力。早期的Java程序员主要关注于业务逻辑处理,而当前Java程序员更重要的任务是完成资源的整合和利用,这一点在云计算、大数据时代有更为明显的体现,因为很多功能都由开发平台提供了,程序员只需要把这些功能整合起来就可以了。对于当前的Java初级程序员来说,要想提升资源整合能力,一定要注重云计算平台和大数据平台的运用。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!
回答于 2019-09-11 08:43:50
只能说是了解一部分的基本语法和逻辑,不知道楼主理解的增删改查是什么样的,是仅仅指挥增删改查,还是说可以满足一个项目正常的业务逻辑编码
1、如果是前者的话,建议多学习Java的基本原理多线程,IO,多态等等,然后自己想想实现一些什么功能,或者是网上看到一些好的业务,可以自己带着敲,然后通过基础知识来实现,这段时间主要是基础结合框架spring ,springmvc,mybatis等等来实现业务编码;
2、如果是后者的话,建议:
第一:提高代码质量,为什么这个放在第一位呢,一个好的代码习惯,可以让你的代码看的有条理,而且让你的程序可以更健壮的云心,避免oom等错误,好的编写代码质量是从开始就养成的,使用阿里的代码规范插件,来提醒自己。
上一篇:春节你们想去看哪部电影?《唐人街探案3》还是《姜子牙》?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |