• JAVA项目中什么是DTO、DAO、PO、Controller、Common


    DTO(Data Transfer Object)和DAO(Data Access Object)是Java中常用的两种设计模式,它们在软件开发中扮演着不同的角色。

    1. **DTO (Data Transfer Object)**:数据传输对象,主要用于在远程调用等需要大量传输对象的地方。比如我们把数据库中的数据取出后,可以把数据库中的数据封装在DTO中传输。DTO内部没有任何业务逻辑,只有数据项。

    例如:

    ```java
    public class UserDTO {
        private String name;
        private int age;

        // getters and setters
    }
    ```

    2. **DAO (Data Access Object)**:数据访问对象,主要用于封装对数据库的访问。通过它可以把具体的数据库操作逻辑隐藏起来。

    例如:

    ```java
    public interface UserDao {
        public User getUser(int id);
        public List getAllUsers();
        public void updateUser(User user);
        public void deleteUser(User user);
    }
    ```

    总的来说,DTO主要用于数据的传输,而DAO主要用于数据的持久化操作。

    `Adapter`和`Application`在计算机科学和软件开发中有着不同的含义和用途。

    1. **Adapter(适配器)**:适配器模式是一种设计模式,它允许接口不兼容的类一起工作。这种模式通常用来使现有的类与其他类接口兼容,而无需修改原有类的源代码。在实际应用中,适配器可以是一个包装类,用于包装不兼容接口的对象,使其能与其他类一起工作。

    例如,如果你有一个接收XML输入的方法,但你的数据是JSON格式,你可能会创建一个JSON到XML的适配器,将JSON数据转换为可以被方法接受的XML格式。

    2. **Application(应用程序)**:应用程序是一种计算机软件,它使计算机用户能够完成某种特定的任务。这是一个更广泛的概念,可能包含许多类、接口和数据。一个应用程序可能包含许多不同的模块,如用户界面、数据访问层、业务逻辑层等。

    例如,一个在线购物网站就是一个应用程序,它可能包含产品浏览、购物车、支付等模块。

    总的来说,适配器是一个设计模式,用于解决接口不兼容的问题;而应用程序是一种软件,用于帮助用户完成特定的任务。

    在Java中,`Domain`、`Converter`和`PO`(Persistence Object)是用于描述不同类型的对象的术语。

    1. **Domain**:领域模型,用于表达业务逻辑和业务规则。在面向对象的软件设计中,领域模型是核心的部分,它代表了真实世界中的业务实体。

    2. **Converter**:转换器,用于在不同类型的对象之间进行转换。例如,在数据持久化时,我们可能需要将领域模型对象转换为数据持久化对象(PO),反之亦然。

    3. **PO (Persistence Object)**:持久化对象,是一个在数据库中存储的对象,通常与数据库表的一行对应。通常,持久化对象仅包含数据字段和它们的getter和setter方法,不包含业务逻辑。

    以下是一个简单的示例:

    ```java
    // Domain
    public class User {
        private String name;
        // other fields, business logic...
    }

    // PO
    public class UserPO {
        private String name;
        // other fields...
    }

    // Converter
    public class UserConverter {
        public UserPO convertToPO(User user) {
            // convert User to UserPO...
        }

        public User convertFromPO(UserPO userPO) {
            // convert UserPO to User...
        }
    }
    ```

    在这个示例中,`User`是领域模型,`UserPO`是持久化对象,`UserConverter`是用于在`User`和`UserPO`之间进行转换的转换器。

    在Java Web开发中,`Common`和`Controller`通常指的是两种不同类型的类或组件。

    1. **Common**:通常用于存放一些公共的类,函数或常量。这些类和函数通常在项目的多个地方被使用到,例如工具类(Utils)、常量类(Constants)等。它们主要用于提供一些公共的,可重复使用的代码,以避免代码重复。

    例如:

    ```java
    public class CommonUtils {
        // 一些公共的,可以在项目中多处使用的函数
    }
    ```

    2. **Controller**:在MVC(Model-View-Controller)设计模式中,Controller(控制器)负责处理用户的请求,并调用后端的业务逻辑,然后返回相应的视图。它是用户输入和系统业务逻辑之间的桥梁。

    例如:

    ```java
    @Controller
    public class UserController {
        @RequestMapping("/users")
        public String listUsers() {
            // 处理用户的请求,返回用户列表的视图
        }
    }
    ```

    总的来说,`Common`主要用于存放公共的代码,而`Controller`则负责处理用户的请求。

  • 相关阅读:
    微信小程序 input 不能输入特殊字符的方法
    docker安装elasticsearch7.8和kibana7.8
    Linux C语言开发-D9输入输出
    《深入理解计算机系统》:Cache Lab
    以科技传递温度,vivo亮相数字中国建设峰会
    10┃音视频直播系统之 WebRTC 中的数据统计和绘制统计图形
    设计模式-单例模式
    解决Docker安装MySQL不区分大小写问题
    使用 HTTP Client 轻松进行 API 测试
    Axios+Elementui+Vue+原生JS+后端原生java的JAVA web小组项目踩坑总结
  • 原文地址:https://blog.csdn.net/weixin_43447989/article/details/133990317