【设计模式】之迭代器模式

定义 迭代器模式(Iterator pattern):用于顺序访问集合对象里的每一个元素,不用暴露集合是怎样存储元素的。 举例 某个班级有若干个学生,现在需要统计这些学生的平均分数。假设所有学生的分数是用数组存储的: int total...阅读全文

初识设计模式 - 装饰器模式

装饰器模式(Decorator Design Pattern)是一种结构型设计模式,通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。简单地说,就是允许向一个现有的功能添加新的功能,同时又不改变其结构。 ...阅读全文

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

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

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

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

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

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

设计模式之备忘录模式

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

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

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

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

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

初识设计模式 - 工厂模式

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

设计模式之命令模式

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