前言

  之前我们写的代码可能发现了,

    我们所写的页面,

业务逻辑代码和页面代码高度耦合在一起

高内聚,低耦合

    所以本随笔也会重新打一次代码来进行阐述


 

页面代码的编写

  首先我们先建一个java web 项目

  

java工作流集成 java 工作流 业务分离_实体类

 

   接着我们先写一个页面代码

    需求的话,就显示学生信息

   

java工作流集成 java 工作流 业务分离_ViewUI_02

  页面结果如下

  

java工作流集成 java 工作流 业务分离_前端_03

    可能结果并没有什么错误,

    结果也是我们想要的结果

    不过大家看源代码就发现了

    我们页面代码和业务逻辑代码高度耦合在一起

    这就会让我们的代码显得非常的恶心,

不利于我们多人开发

  不过接下来,我们就来看看如何将其分开


 

代码的分离

  首先,我们要分清楚,我们有哪些实体

  所谓实体,就是为了编写实体类,java中面向对象的分装

    本次代码就只有一个学生实体类,

    所以我们第一步就是封装学生实体类

  

java工作流集成 java 工作流 业务分离_java工作流集成_04

  接着就建包和建类

  

java工作流集成 java 工作流 业务分离_前端_05

   然后就是将对应的属性封装

  

java工作流集成 java 工作流 业务分离_前端_06

  这里有一点需要注意

编写的实体类的属性要和页面代码中的一样

  例如

  

java工作流集成 java 工作流 业务分离_实体类_07

  接着就是编写方法接口,

为什么是编写接口,

      而不是直接编写实现类和方法, 

      因为,在需要写需求之前,

先把需求的大概用接口表达出来,

有利于我们整个项目的思路梳理

      再用实现类去实现,

        我们的需求就是显示学生的信息

        所以只需要一个返回List集合的方法

  

java工作流集成 java 工作流 业务分离_实体类_08

  下一步是什么呢?

    是实现类的编写吗?

    不是的,实现类不着急编写,

  先将类调用到页面代码中试试效果。

  

java工作流集成 java 工作流 业务分离_ViewUI_09

  然后去页面看看效果

  

java工作流集成 java 工作流 业务分离_java工作流集成_10

500错误,因为我们没有实例化接口类,

  所以我们就去写一个实现类

  

java工作流集成 java 工作流 业务分离_实体类_11

  提示,在编写jsp代码的时候,记得导入需要的包,和实例化接口对象

  

java工作流集成 java 工作流 业务分离_java_12

  

java工作流集成 java 工作流 业务分离_java工作流集成_13

  这个实现类返回的并没有内容,

  这次我再去看看有没有500错误

  

java工作流集成 java 工作流 业务分离_前端_14

  这次没有报错,只是没有内容

    到这一步就差不多成功了,

    接下来的工作也只是添加数据

  

java工作流集成 java 工作流 业务分离_实体类_15

  紧接着我们去看一下网页,

  这里需要注意一点,每次修改java文件的时候

  都需要重写部署以下Tomcat

  

java工作流集成 java 工作流 业务分离_前端_16

  内容就全部出来了


 

对比

最后我们来对比一下我们前后者之间的不同

  首先是业务逻辑和页面代码耦合在一起

  

java工作流集成 java 工作流 业务分离_ViewUI_02

  在项目分工合作的时候,这样子的代码,

效率大大降低,

    也使代码变得非常的恶心

  后者如下

  

java工作流集成 java 工作流 业务分离_实体类_18

  项目结构如下:

  

java工作流集成 java 工作流 业务分离_实体类_19

   这完全符合java面向对象的思想,

  将实体封装,提供方法实现功能,

  在以后的学习,

   

java工作流集成 java 工作流 业务分离_java_20

  这些代码会更加的简洁