首页 > 其他分享 >QQZone2 - 大致流程

QQZone2 - 大致流程

时间:2023-01-26 17:33:26浏览次数:40  
标签:大致 流程 private public Topic userBasic id 日志 QQZone2

1. pojo 根据数据库设计创建实体类

  • 包括属性、实体间关系和 set&get 方法

  • public class Topic {
    
        private Integer id;
        private String title;
        private String content;
        private Date topicDate;
        
        private UserBasic author;       // M:1
        private List<Reply> replyList;  // 1:N
    
        public Topic(){}
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    	...
    }
    

2. dao 创建实体与数据库交互的接口 DAO 与实现类 DAOImpl

  • 先创建接口,功能不用急着补全,后续可以根据需要添加

  • public interface TopicDAO {
        // 获取指定用户的所有日志列表
        public List<Topic> getTopicList(UserBasic userBasic);
        // 添加日志
        public void addTopic(Topic topic);
        // 删除日志
        public void delTopic(Topic topic);
        // 获取指定日志的信息
        Topic getTopic(Integer id);
    }
    
    
  • 再创建实现类,实现类继承 BaseDAO 方便调用工具类的方法与数据库交互

  • 实现类也不用急着完善,先写框架,根据需要逐一完成功能

  • DAO 层都是单精度操作,后续 service 业务层会需要多个单精度复杂操作,再根据业务层的需要添加功能。

  • public class TopicDAOImpl extends BaseDAO<Topic> implements TopicDAO {
    
    
        @Override
        public List<Topic> getTopicList(UserBasic userBasic) {
            return super.executeQuery("select * from t_topic where author = ?",userBasic.getId());
        }
    
        @Override
        public void addTopic(Topic topic) {
    
        }
    
        @Override
        public void delTopic(Topic topic) {
    
        }
    
        @Override
        public Topic getTopic(Integer id) {
            return null;
        }
    }
    

3. service 业务层,聚焦于具体业务,如,用户登录,登录后显示主页需要哪些信息 -- 用户日志、好友列表 -- 之类的具体功能

  • service 层主要通过使用 DAO 层提供的单精度方法完成具体业务

  • service 层也需要先写接口 Service 再写实现类 ServiceImpl

  • public class TopicServiceImpl implements TopicService {
    
        private TopicDAO topicDAO = null;
    
        // 根据用户 userBasic 查询用户的日志
        @Override
        public List<Topic> getTopicList(UserBasic userBasic) {
            return topicDAO.getTopicList(userBasic);
        }
    }
    

4. bean 容器,通过配置外部文件的方式存储各层信息以及层间依赖,降低层间耦合

  • bean 容器的内容是根据 DAO 、Service 和 Controller 层逐渐添加的,有一个 DAO 或 Service 的实现类就添加一个 bean,然后组装 bean 之间的依赖关系

  • <beans>
        <bean id="userBasicDAO" class="com.atguigu.qqzone.impl.UserBasicDAOImpl"></bean>
        <bean id="topicDAO" class="com.atguigu.qqzone.impl.TopicDAOImpl"></bean>
    
        <bean id="userService" class="com.atguigu.qqzone.service.impl.UserBasicServiceImpl">
            <property name="userBasicDAO" ref="userBasicDAO"/>
        </bean>
        <bean id="topicServic" class="com.atguigu.qqzone.service.impl.TopicServiceImpl">
            <property name="topicDAO" ref="topicDAO"/>
        </bean>
    
    </beans>
    

5. contoller 控制层,请求与响应

标签:大致,流程,private,public,Topic,userBasic,id,日志,QQZone2
From: https://www.cnblogs.com/Ashen-/p/17067968.html

相关文章

  • 与ServerFul应用开发流程对比
    通过生产环境中的案例,对传统架构下的应用开发与Serverless架构下的应用开发进行举例对比。下面以一个Web应用为例。如下所示,通常情况下一些Web应用都是传统的三层C/S架构,......
  • Serverless架构下的应用开发流程
    UCBerkeley认为Serverless架构的出现过程类似于40多年前从汇编语言转向高级语言的过程,在未来Serverless架构的使用会飙升,或许服务器式云计算不会消失,但是将促进BaaS发展,以......
  • 精华推荐 | 【深入浅出 RocketMQ原理及实战】「底层源码挖掘系列」透彻剖析贯穿Rocket
    精华推荐|【深入浅出RocketMQ原理及实战】「底层源码挖掘系列」透彻剖析贯穿RocketMQ的消费者端的运行核心的流程上篇:分析对应总体消费流程的判断和校验以及限流控制和回......
  • Android10和Android12的Activity启动流程整理
    Android10和Android12的Activity启动流程整理回顾一下Android10的Activity的启动流程:Activity#startActivityActivity#startActivityForResultInstrumentation#......
  • Serverless工作流程
    在实际生产中,Serverless架构通常都是FaaS与BaaS的结合,并且具备弹性伸缩和按量付费的特性。如下所示,当开发者想要开发一个项目的时候,通常只需要根据FaaS提供商所提供的Runti......
  • k8s控制流程
    Kubernetes的控制流程即Kubernetes集群中资源的增、删、改、查流程。这里的资源包括集群基础设施层面的资源和集群中应用负载层面的资源。集群基础设施层面的资源的控制流......
  • Hadoop MapReduce介绍、官方示例及执行流程Apache Hadoop概述
    Hadoop离线是大数据生态圈的核心与基石,是整个大数据开发的入门。本次分享内容让初学者能高效、快捷掌握Hadoop必备知识,大大缩短Hadoop离线阶段学习时间,下面一起开始今天的学......
  • Hadoop技术之HDFS工作流程与机制Apache Hadoop概述
    一、HDFS集群角色与职责官方架构图 主角色: namenodeNameNode是Hadoop分布式文件系统的核心,架构中的主角色。NameNode维护和管理文件系统元数据,包括名称空间目录树结构、......
  • PyTorch图像分类全流程实战--迁移学习训练图像分类模型03
    教程同济子豪兄:https://space.bilibili.com/1900783斯坦福CS231N【迁移学习】中文精讲:https://www.bilibili.com/video/BV1K7411W7So斯坦福CS231N【迁移学习】官方笔记:h......
  • Hive SQL Join关联查询Apache Hadoop概述Hadoop YARN架构、组件及其交互流程Apache Hi
    Hadoop离线是大数据生态圈的核心与基石,是整个大数据开发的入门。本次分享内容让初学者能高效、快捷掌握Hadoop必备知识,大大缩短Hadoop离线阶段学习时间,下面一起开始今天的学......