转载

聊一聊我们都熟知的 “ Java分层 ”

一、为什么要分层。

以前的我们,写代码的时候,都在 main ()方法中,出现了错误,就慢慢调试,这样浪费了我们很长的时间,而我们程序员的时间是非常宝贵的

但是当我们使用分层架构的时候,就可以清晰明确的知道错误出在哪里,或者在公司中,基本都是使用分层架构的,因为那样可以分离我们程序员的

关注,更为简洁。

二、分层带来了哪些好处。

其实带来了很多好处,首先,方便维护和分离关注点,就不谈了。

1.便于更改或替换。

先说说便于替换或者更新,我现在用的数据库是 SQLServer 数据库,如果我需要

将数据库更换为 MySQL ,如果增删改查的语法一致的情况下,我们只需要更改 BaseDao 工具类的连接字符串,而不用更改其它层的代码。

2.实现了软件之间的解耦

就是每个部分独立变化。举个简单的例子,画一个三角形和画一个文字,在 DX OpenGL 下面用的是截然不同的方法(不仅仅是函数名不一样)。

但是你哪一天你发现,你爱用 DX 还是 OpenGL ,丝毫不影响你如何画三角形还是文字,爱画什么画什么,那么你画的东西跟你画的手段就解耦了。

这个解耦的方法就是在中间插入一层 interface

孔子曰,软件的所有问题都可以通过增加一层 interface 来解决。你的团队越大,需求变化越快,你越要保证程序员之间的依赖关系越少,

你的软件解耦的就越好, interface 就越多,关系就越复杂(跟乱不一样),应付变化就越容易,钱赚的就越多,越稳定。

3.做提高软件组件的重用

在软件开发中,由于不同的环境和功能要求,我们可以通过对以往成熟软件系统的局部修改和重组,保持整体稳定性,以适应新要求。

这样的软件称为可重 (chong) 用软件。

三、分层的架构和解析。

可大致分为:

聊一聊我们都熟知的 “ Java分层 ”

DAO :该层分为接口和他的实现类来实现功能, dao 子目录只提供对外接口,而他的实现类要放到数据访问层,就是 impl 层。

DTO:

Data Transfer Object 数据传输对象 
主要用于远程调用等需要大量传输对象的地方。 
比如我们一张表有 100 个字段,那么对应的 PO 就有 100 个属性。 
但是我们界面上只要显示 10 个字段, 
客户端用 WEB service 来获取数据,没有必要把整个 PO 对象传递到客户端, 
这时我们就可以用只有这 10 个属性的 DTO 来传递结果到客户端,这样也不会暴露服务端表结构 .

到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为 VO

DAO和DTO的区别:

DAO :数据访问对象 —— 同时还有 DAO 模式DTO :数据传输对象 —— 同时还有 DTO 模式

BIZ: 业务逻辑层,跟 dao 层一样只提供共接口。

Model :实体层,用于读、取数据。

JavaBian: javaBean在MVC设计模型中是model,又称模型层,在一般的程序中,我们称它为数据层,就是用来设置数据的属性和一些行为,然后我会提供获取属性和设置属性的get/set方法

Servlet :用于跟 JSP 页面进行交互

POJO: (plain ordinary java object) 简单无规则 java 对象  纯的传统意义的 java 对象。就是说在一些 Object/Relation  Mapping 工具中,能够做到维护数据库表记录的 persisent 

object 完全是一个符合 Java Bean 规范的纯 Java 对象,没有增加别的属性和方法。我的理解就是最基本的 Java Bean ,只有属性字段及 setter 和 getter 方法!。 

正文到此结束
Loading...