精选分类

文章列表

6.1k 6 分钟

# 什么是工厂模式? 工厂模式 (Factory Pattern) 是开发中常用的设计模式之一,属于创建型设计模式;跟单例设计模式创建单一实例不同的是,工厂模式是提供创建对象的最佳方式帮助我们按照不同的需求创建产品以达到 “需求” 和 “生产产品” 的解耦。 并且工厂模式在创建对象时也 不会对外暴创建对象的过程 并且可以使用同一个共同的接口访问创建对象。 工厂模式的实现主要分为三种: 简单工厂模式 (Simple Factory); 工厂方法模式 (Factory Method); 抽象工厂模式 (Abastract Factorv); 其中简单工厂不在 23...
14k 13 分钟

# 苍穹外卖 day12 # 课程内容 工作台 Apache POI 导出运营数据 Excel 报表 功能实现:工作台、数据导出 工作台效果图: 数据导出效果图: 在数据统计页面点击数据导出:生成 Excel 报表 # 工作台 # 需求分析和设计 # 产品原型 工作台是系统运营的数据看板,并提供快捷操作入口,可以有效提高商家的工作效率。 工作台展示的数据: 今日数据 订单管理 菜品总览 套餐总览 订单信息 原型图: 名词解释: 营业额:已完成订单的总金额 有效订单:已完成订单的数量 订单完成率:有效订单数 / 总订单数 * 100% 平均客单价:营业额 /...
17k 15 分钟

# 苍穹外卖 day11 # 课程内容 Apache ECharts 营业额统计 用户统计 订单统计 销量排名 Top10 功能实现:数据统计 数据统计效果图: # Apache ECharts # 介绍 Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。 官网地址:https://echarts.apache.org/zh/index.html 常见效果展示: 1). 柱形图 2). 饼形图 3)....
36k 33 分钟

# Spring 的 get 方法 方法定义 返回值 参数 Object getBean(String beanName) Object beanName T getBean(Class type) Class type type T getBean(String beanName, Class type) Class type beanName , type 第一行的方法定义是 Object getBean(String beanName) 。该方法根据 beanName 从容器中获取 Bean 实例,要求容器中 Bean 唯一。返回值为 Object...
13k 12 分钟

# 苍穹外卖 day10 # 课程内容 Spring Task 订单状态定时处理 WebSocket 来单提醒 客户催单 功能实现:订单状态定时处理、来单提醒和客户催单 订单状态定时处理: 来单提醒: 客户催单: # Spring Task # 介绍 Spring Task 是 Spring 框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。 定位: 定时任务框架 作用: 定时自动执行某段 Java 代码 为什么要在 Java 程序中使用 Spring Task? 应用场景: 1). 信用卡每月还款提醒 2). 银行贷款每月还款提醒 3)....
19k 17 分钟

# 用户端历史订单模块 # 查询历史订单 # 需求分析和设计 产品原型: 业务规则 分页查询历史订单 可以根据订单状态查询 展示订单数据时,需要展示的数据包括:下单时间、订单状态、订单金额、订单明细(商品名称、图片) 接口设计:参见接口文档 # 代码实现 # user/OrderController 1234567891011121314/** * 历史订单查询 * * @param page * @param pageSize * @param status 订单状态 1待付款 2待接单 3已接单 4派送中 5已完成 6已取消 * @return...
19k 17 分钟

# IoC、DI 和 AOP 思想 三种思想总结 1)IoC 控制反转,是将程序创建 Bean 的权利反转给第三方; 2)DI 依赖注入,某个完整 Bean 需要依赖于其他 Bean(或属性)的注入; 3)AOP 面向切面编程,用横向抽取方法(属性、对象等)思想,组装成一个功能性切面。 # 面试题:IoC 和 DI 的关系? 首先,先回答 IoC 和 DI 的是什么: IoC: Inversion of Control,控制反转,将 Bean 的创建权由原来程序反转给第三方 DI:Dependency Injection,依赖注入,某个 Bean 的完整创建依赖于其他...
28k 25 分钟

# 苍穹外卖 - day08 # 课程内容 导入地址簿功能代码 用户下单 订单支付 功能实现:用户下单、订单支付 用户下单效果图: 订单支付效果图: # 导入地址簿功能代码 # 需求分析和设计 # 产品原型 地址簿,指的是消费者用户的地址信息,用户登录成功后可以维护自己的地址信息。同一个用户可以有多个地址信息,但是只能有一个默认地址。 效果图: 对于地址簿管理,我们需要实现以下几个功能: 查询地址列表 新增地址 修改地址 删除地址 设置默认地址 查询默认地址 # 接口设计 根据上述原型图先粗粒度设计接口,共包含 7...
19k 18 分钟

# 苍穹外卖 - day07 # 课程内容 缓存菜品 缓存套餐 添加购物车 查看购物车 清空购物车 功能实现:缓存商品、购物车 效果图: # 缓存菜品 # 问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大。 结果: 系统响应慢、用户体验差 # 实现思路 通过 Redis 来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: 每个分类下的菜品保存一份缓存数据 数据库中菜品数据有变更时清理缓存数据 # 代码开发 修改用户端接口 DishController 的 list...
25k 22 分钟

# 苍穹外卖 - day06 # 课程内容 HttpClient 微信小程序开发 微信登录 导入商品浏览功能代码 功能实现:微信登录、商品浏览 微信登录效果图: 商品浏览效果图: # HttpClient # 介绍 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 HttpClient 作用: 发送 HTTP 请求 接收响应数据 为什么要在 Java 程序中发送 Http 请求?有哪些应用场景呢? HttpClient...