![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
滴水藏海NQZ
这个作者很懒,什么都没留下…
展开
-
设计模式--模板模式
原创 2020-09-13 14:52:19 · 70 阅读 · 0 评论 -
秒杀项目
1、秒杀流程 1、首先前端商品界面显示秒杀倒计时,秒杀开始,显示秒杀按钮。输入验证码。 2、用户在商品详情面点击按钮后 验证码和用户id校验。 验证商品id和秒杀唯一标志是否合法(避免暴露秒杀地址) 判断秒杀时间(判断秒杀开始和结束时间) 判断商品是否抢光。redis中的库存>0 ? 判断用户是否已经秒杀过该商品 (判断redis中的key是否存在,用户秒杀后会在redis中设置一个展位的key来标志用户已经秒杀过) 3、判断当前系统流量是否超过阈值。 通过redis的lis..原创 2020-10-14 21:04:07 · 370 阅读 · 0 评论 -
设计模式--适配器模式
插座问题?? 基本介绍 1)适配器模式(Adapter Pattern)将某个类的接囗转换成客户端期望的另一个接口表示,主目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper) 2)适配器模式属于结构型模式 3)主要分为三类: 类适配器模式、对象适配器模式、接囗适配器模式 类适配器模式 Adapter类,通过继承src类,实现dst类接口,完成src->dst的适配。 应用实例,手机电源适配器,220v --> 5v 类适配器模式注意事原创 2020-07-21 20:40:39 · 118 阅读 · 0 评论 -
设计模式--建造者模式
盖房项目需求 1)需要建房子:这一过程为打桩、砌墙、封顶 2)房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的 3)请编写程序,完成需求 传统的方式解决盖房需求 上述方法的问题:将产品和创建产品的过程封装到一起,耦合性增强了。---------------------》》建造者模式 建造者模式:是一种构建模式。可以将复杂的对象创建过...原创 2020-07-12 19:31:37 · 93 阅读 · 0 评论 -
设计模式--原型模式
浅拷贝 1)对于数据类型是基本数据类型的成员变量,浅拷贝会直接进行值传递,也就是将该属性值复制一份给新的对象 2)对于数据类型是引用数据类型的成员变量,比如说成员变量是某个数组、某个类的对象等,那么浅拷贝会进行引用传递,也就是只是将该成员变量的引用值(内存地址)复制一份给新的对象。因为实际上两个对象的该成员变量都指向同一个实例。在这种情况下,在一个对象中修改该成员变量会影响到另一个对象的该成员变量值 深拷贝 1)复制对象的所有基本数据类型的成员变量值 2)为所有引用数据类型的成员变量申请存储空间,并复原创 2020-07-12 14:55:22 · 72 阅读 · 0 评论 -
设计模式--工厂模式
简单工厂模式 看一个披萨的项目:要便于披萨种类的扩展,要便于维扩 1)披萨的种类很多(比如 GreekPizz、 Cheesepizz等 2)披萨的制作有 prepare,bake, cut, box 3)完成披萨店订购功能 ...原创 2020-07-09 16:43:39 · 130 阅读 · 0 评论 -
设计模式--单例模式
1、饿汉式(静态常量) class Singleton{ private Singleton(){} private final static Singleton instance= new Singleton(); public static Singleton getInstance(){ return instance}; } 1)优点:这种写法比较简单,就是在类装载的时候就完成实例化。避免了线程同步问题 2)缺点:在类装载的时候就完成实例化,没有达到 La.原创 2020-07-09 11:59:30 · 74 阅读 · 0 评论