zoukankan      html  css  js  c++  java
  • 聊一聊我们都熟知的 “ Java分层 ”

    一、为什么要分层。

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

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

    关注,更为简洁。

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

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

    1.便于更改或替换。

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

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

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

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

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

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

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

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

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

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

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

    三、分层的架构和解析。

    可大致分为:

     

    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 方法!。 

  • 相关阅读:
    03 http请求协议与响应协议
    02 web应用程序
    Django web框架目录
    01 http协议
    Django框架
    Bootstrap栅格系统
    bootstrap介绍和引入
    Python中日志logging模块
    Python 装饰器实现单列模式
    Python 如何理解可更改元组中的可变序列
  • 原文地址:https://www.cnblogs.com/xjdoconline/p/4924352.html
Copyright © 2011-2022 走看看