
design partten
文章平均质量分 83
学习设计模式的思想,该分类主要实现的编程语言为java,软件设计架构
乌托邦钢铁侠
Practice makes perfect, fighting with my time .
1. Java
2. English foolish
3. Love riding
展开
-
时间轮存储设计与实现
时间轮是一个环状的存储结构,像一个时钟,我们可以给环设置指定数量的刻度,比如一个环60个刻度或者60*60刻度,存任务时根据index取到数组里,那么在取任务时可以根据时间戳来计算Index, 从而实现轮询时间轮里的任务。 如下用数组作为存储任务的时间轮,也可以使用链表替代 Java中的列表底层结构是数组,可用Set或List, 下面以数组为存储单元详解实现思路。一、实现思路1. 存任务 以ID做为计算时间轮中的index位...原创 2022-04-02 23:19:37 · 931 阅读 · 0 评论 -
验证码模式登录方案设计
目录一、登录流程设计二、代码详细设计1. 获取验证码1) 表达式型验证码。2) 特殊字符型验证码3) 中文验证码2. 验证密码和验证码随着技术的更新迭代,越来越多的应用采用手机验证码的方式登录,更快捷、安全。但是现在仍然很多应用采用验证码的模式设计登录系统,不需要手机号注册,也能有效地提升系统的安全性,即使你的账号用户名和密码泄露出去了,但是如果不获取验证码并输入正确验证码的情况下,还是无法进入到系统,也能有效地抵御一些恶意攻击的手段,因为破解...原创 2022-03-24 22:49:19 · 5296 阅读 · 0 评论 -
根据班级模型设计简易朋友圈(支持发动态、点赞、评论、回复等)
将用户所在的班级制作一个简易的朋友圈,用户可以在朋友圈里发动态,支持9宫格,对动态进行评论,回复其他用户的评论,可删除自己的评论,对动态进行点赞,可取消自己的点赞等功能实现。一、数据库设计动态表 friend_message:/* Navicat Premium Data Transfer Source Server Type : MySQL Source Server Version : 50733 Source Schema : my_site Target Ser原创 2021-04-12 15:52:29 · 1595 阅读 · 0 评论 -
支持多种登录模式的token方案设计(微信、支付宝登录等)和数据库设计含手机号绑定方法
文章目录原创 2021-03-01 18:07:01 · 4905 阅读 · 5 评论 -
单例模式(二)为什么单例模式会被破坏? 怎么解决?
文章目录1. 反射破坏单例模式2. 序列化破坏单例模式1. 反射破坏单例模式2. 序列化破坏单例模式原创 2020-12-22 10:11:45 · 1107 阅读 · 4 评论 -
单例模式(一)单例模式的创建方式有哪些?
单例模式介绍 在项目中,我们一般推荐使用饿汉式的方式来创建一个单例,因为宁可在启动的时间上多花一点时间,也不愿意在需要的时候再去创建,用户体验感不好,使用单例模式的优点有: 1) 节省内存开销,避免系统资源的浪费。 2) 不用重复new对象,在性能方面有一定的提升。单例模式常见的创建方法1. 饿汉式创建单例 方式一、使用静态变量package com.atguigu.singleton.type1;public class SingletonTest01 { pub原创 2020-12-21 09:30:29 · 618 阅读 · 0 评论 -
代码重构篇之如何写出优雅的代码?
文章目录如何写出优雅的代码?案例分析重构后的代码持续优化总结如何写出优雅的代码?案例分析重构后的代码持续优化总结原创 2020-12-11 08:51:29 · 435 阅读 · 3 评论 -
简单工厂模式、抽象工厂模式详解
文章目录一、简单工厂模式核心思想案例分析示例改进1改进2改进3一、简单工厂模式核心思想 工厂模式指的是对象实例的使用者不需要该实例是怎么创建的,只需要告诉工厂我要什么,那么工厂就会给你生产对应的对象实例,用于解决创建类的实例出现很多重复代码的场景。案例分析 以课程的类型为例,课程有Java课程、Python课程、C语言课程,假如我们想要获取到课程类型的实例,我们可以这样做:示例package patternsDesign.singleFactory;public interface原创 2020-12-09 09:18:01 · 1046 阅读 · 1 评论 -
软件架构设计原则(一)开闭原则、依赖倒置原则、单一职责原则
文章目录一、开闭原则核心思想案例分析类的结构图一、开闭原则核心思想 开闭原则是软件设计架构中常用原则, 是指一个实体对修改关闭,对外扩展, 核心思想就是面向抽象编程。案例分析 假如我现在需要在网上售课,以课程优惠活动作为案例,对java课程以85折的优惠力度出售,那让我先创建一个接口类 ICourse:package OpenClosePrinciple;public interface ICourse { Integer getId(); String get原创 2020-12-06 22:45:33 · 767 阅读 · 2 评论 -
浅析Java设计模式之原型模式、深拷贝、浅拷贝
一、原型模式的UML图 ProtoType: 原型类,声明一个克隆自己的接口。 ConcreatePrototype: 具体的原型类,是实现克隆自己的操作。Client: 让一个原型对象克隆自己,从而产生一个新的对象。对象的属性完全相同。二、 原型模式解决克隆羊问题 应用案例: 现在需要将一头绵羊克...原创 2020-05-06 23:46:29 · 270 阅读 · 0 评论 -
Java设计模式之观察者模式应用与实战
一、天气预报项目需求分析 天气预报的需求,具体要求如下: 1. 气象站可以将每天测到的温度、湿度、气压、PM2.5等以公告的形式发布到自己的网站或者第三方。 2. 有对外的接口可以被其他系统所调用,比如新浪等能够接入该接口来获取数据。 3. 提供关键数据的接口,温度、湿度、第三方等信息。 4.测量数据更新时,要能实时地通...原创 2020-05-04 19:23:00 · 3465 阅读 · 0 评论 -
Java设计模式之建造者模式
一、建造者模式简介 建造者模式可以将构建过程与表示分离。二、代码实现 在一个抽象类里定义需要建议的东西,然后通过所有动作放在一个方法里执行。package com.atguigu.builder;public abstract class AbstractHouse { public abstract void buildBasi...原创 2020-03-09 19:58:53 · 372 阅读 · 0 评论 -
Java设计模式之桥梁模式详解
一、桥梁模式简介 桥梁模式的作用主要是将抽象和实现分离,抽象类与接口的实现分离,抽象的实体与实体的接口特性进行分离。二、桥梁模式的UML图 三、桥梁模式的代码实现 1. 抽象类:package com.atguigu.bridge;public abstract class Phone { ...原创 2020-03-07 19:19:45 · 470 阅读 · 0 评论 -
Java设计模式之适配器模式(类、对象、接口)
一、适配器模式简介 1)适配器模式是将某个类的接口转换成客户期望的另外一个接口表示,其主要目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装类。 2)适配器模式属于结构型模式。 3)主要分为三类: 类适配器模式、 对象适配器模式、 接口适配器模式 适配器模式的工作原理如下: 1)适配器模式: 将一...原创 2020-02-06 14:24:10 · 1806 阅读 · 0 评论