• 网络系统
  • 2024-09-25 08:40:07
  • 0

网络系统集成分层化的好处,网络系统集成分层化的好处有哪些

大家好,今天小编关注到一个比较有意思的话题,就是关于网络系统集成分层化的好处的问题,于是小编就整理了2个相关介绍网络系统集成分层化的好处的解答,让我们一起看看吧。

Java项目的代码,你们都是怎么设计分层的?分层有什么好处?

在我看来,Java项目分层简直就是必须的,就算是一个人独立发开的项目,也应该进行代码分层;我现在负责的项目,并没有参考什么代码分层规范,因为项目的框架都是我一个人搭建的,我也是凭着经验做的设计,有些地方还掺杂了一些个人的喜好。

网络系统集成分层化的好处,网络系统集成分层化的好处有哪些

分包

我们项目被分成几个包,但是并不是微服务那种程度,因为公司的一些基础还不是非常的完善,比如容器、容器管理工具、持续集成,虽然已经起步,但是并没有成熟到让生产环境使用的程度,毕竟是金融行业,求稳大于创新。

  • 我们项目现在是按照功能模块分的包,比如接口服务、定时服务、前端页面、监控等等;

  • 前端页面是纯前端(我不太确定这样形容是否明确),页面所需的数据都是通过调用接口获得,本身不和数据库发生交互;

  • 其余工程都可以独立部署,关联功能,都是通过MQ进行解耦。

分层

单个工程中,分层设计都一样,也和主流的代码分层差不多(我们的项目绝大部分功能都是接口,少量的页面功能,也被分到单独的包中了):

  • DAO层:Data Access Object,数据访问对象,我们用的是MyBatis,在方法的注解中写SQL语句;

  • Service层:业务逻辑层,这里可能调用其他的Service或DAO;我看有些系统Service层会分成两部分,一部分是功能比较单一的业务逻辑,另外一部分是组合的业务逻辑;个人认为这样有些繁琐;

  • Controller层:请求处理层,包括入参回参的类型转换、入参验证等功能在这里完成;

  • Model层:数据的实体对象,和数据库列名保持一致;类名也都是以Model为结尾命名;

  • Domain层:我们把入参和回参单独做了一层,没有和Model层混在一起;就算一个接口要查询一个单表,查询结果也要把Model转成Domain;我们在Domain这一层做了很多字段的标准化,保持见名知意;Domain层中的内容确定好了之后,属性名称不会改变,但是Model层中的内容允许修改。

  • 剩下的就是Util、Contants、Config等等。

分层的好处

分包和分层,看起来让代码结构变得更加的复杂,这种结构的复杂,实际上却可以降低系统的复杂度:

  • 单一职责:每一层的代码,只负责一类的职责,职责边界变得非常的清晰;

  • 高内聚、低耦合、易维护:业务逻辑被放到了一起,修改的时候不仅快,而且不会有遗漏;如果业务逻辑分散在多个代码层,那么修改的时候,需要修改多处的代码,这样难免会有疏漏;上层代码依赖下层代码,条理清晰,不会有循环依赖;

  • 复用性高:某项功能被抽象出来,可以复用给多个业务流程。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

如果项目本身具有明显的“克隆”性质,比如,为crm 系统做个升级、为信息系统添加gis 功能,等等。这样的工作,或许有机会考虑一下“怎么设计分层”。真正有挑战性的软件开发项目,系统的分层规划,可能是经历了数个早期版本之后的事情。

软件产品、软件开发工作,与其他工作的最大不同,是可以分层实施。然而,分层的重要意义,是为了便于工程参与者之间的交流。OSI 的7层结构,虽然在教材中很流行,但却是“失败”的设计。

一套头头是道的设计方案,说明项目开发工作仅仅是“体力活儿”了。

Java Web项目,你们一般都是怎么设计代码分层的?

谢邀!笔者是一名从业多年的Java Web开发工程师,所以对题主的问题,还是能够做一定可靠回答的。

说到分层,最为我们web开发人员所熟知的,那自然是MVC模式MVC模式将我们的代码分为了Model,View,Controller这三层。下面针对三层做简单的讨论。

Model层

该层在MVC模式中,主要负责与数据的直接对话。该层在Java Web项目中,通常会出于实际情况,又将其细分为了两层:Service层,DAO(在Spring+Mybatis中,也可以说是Mapper)层

Service层,主要用于编写业务逻辑。通常它在一个Java Web项目中的代码量是最多的。

DAO层,主要用于与数据库进行交互,根据业务操作相关数据。

Controller层

该层在MVC模式中,主要负责控制业务逻辑,以及返回相关视图。在Java Web的项目中,这层有时候会直接也DAO层对话,这是错误的,这完全不符合该层的设计理念。这层只能与Service层对话,控制业务方向,而不是获取数据。

View层

该层在MVC模式中,主要负责向客户端呈现数据。在传统的Java Web项目中,这一层,我们通常用jsp,template等这类模板引擎来处理。现在的话,由于前后端分离,所以这层基本上剥离出Java Web项目,而改为由前端处理这块数据的呈现了,后端则更多的用于返回json。

笔者是一名从业多年的Java Web开发工程师,如果有Java Web方面的问题,欢迎来询!!笔者也会分享一些有关Java Web开源框架方面的源码解读,如果您感兴趣,不妨点个关注,您的关注将是我更新的最大动力!!!

到此,以上就是小编对于网络系统集成分层化的好处的问题就介绍到这了,希望介绍关于网络系统集成分层化的好处的2点解答对大家有用。

相关推荐