设计模式-创建型模式之建造者

主要对象组成: 1、被构建目标对象 2、指挥官 3、实际构建者 4、指挥官与实际构建者交互接口 由于本人现阶段从事selenium方面工作,故经常和web页面打交道,在新框架构思过程中,正好期间学习到此设计模式,所以产生了一点想法,页面...阅读全文

聊聊秒杀系统的设计(四)

前言 如果你第一次接触秒杀,可能还不太理解,库存100件就卖100件,在数据库里减到0就好了,这有什么麻烦的?理论上是这样,但是具体到业务场景中就没那么简单了。今天就聊聊减库存的设计,之后以高可用方案来结束秒杀设计的全部内容。 一、秒杀...阅读全文

聊聊秒杀系统的设计(三)

前言 秒杀请求在高度集中在某一个时间点。这样一来,就会导致一 个特别高的流量峰值,它对资源的消耗是瞬时的 。能够抢到商品的人数是有限的,也就是说10人和1000人发 起请求的结果都是一样的。也就是说真正开始下单时,秒杀请求并不是越多越好...阅读全文

设计模式之备忘录模式

无论是我们在使用word还是记事本,系统都会为我们提供撤销的功能,这几乎是人人都会使用到的功能,而在我们实际开发中,会不会存在一个很复杂的对象,当更改了其中的某一个属性以后,也提供撤销的功能,可以快速恢复到更新前的状态。提供该功能的模式...阅读全文

《游戏设计模式》笔记 01 序章

我因为最近在学习游戏开发相关知识,然后意识到自己设计模式知识缺乏,所以就去寻找相关书籍,这时候《游戏设计模式》这本书就跳到了我的眼前。 github上有大佬将这本书翻译了,中文版阅读地址在这:架构,性能和游戏 · Introd...阅读全文

[设计模式]代理模式、适配器模式与装饰器模式

代理模式、适配器模式与装饰器模式 这三种设计模式在代码形式上十分相似。但是为了解决不同的问题而提出的: 代理模式 代理模式在不改变原始接口的条件下,为原始类控制访问、新增一些业务无关的功能。 适配器模式 将不兼容的接口转换为可兼容的接口...阅读全文

初识设计模式 - 工厂模式

创建对象可能会导致大量的重复代码,可能会需要复合对象访问不到的信息,也可能提供不了足够级别的抽象,还可能并不是复合对象概念的一部分。工厂设计模式通过定义一个单独的创建对象的方法来解决这些问题。 ...阅读全文

设计模式之命令模式

本文通过解决老王经常搞错借书人的问题,来引出行为型模式中的命令模式。为了在案例之上理解的更加透彻,我们需要了解命令模式在源码中的应用。最后指出命令模式的应用场景和优缺点。 ...阅读全文

[设计模式]单例模式

单例模式 本章笔记的内容主要参考《设计模式之美》 核心问题 1.为什么要使用单例? 2.单例存在的问题? 3.单例与静态类的区别? 4.替代方案? 为什么要使用单例模式 /在很多场景中,我们需要一些可以共享的对象,来统一操作一些资源。若...阅读全文

设计模式之责任链模式

本文通过图书馆管理系统中,用户名校验、密码校验、需要增加问题,每次都要增加if判断语句,将其改用责任链模式进行链式调用,为了让代码更加的优雅,我们使用之前学过的建造者模式就代码进行改造。接着我们会介绍责任链模式在我们常用的框架中的运用,...阅读全文

经典设计原则

设计原则为提高可维护性和可复用性而生,每一种设计模式都符合一个或多个设计原则,因此设计原则也是评价一个设计模式使用效果的重要指标之一。 ...阅读全文

设计模式之责任链

你是否还在一个方法里面列出几个甚至几十个其他方法的调用呢?遇到这种情况如何优雅的设计代码,你可能需要看看责任链设计模式。 ...阅读全文