摘要: 前面我们介绍数组的数据结构,我们知道对于有序数组,查找很快,并介绍可以通过二分法查找,但是想要在有序数组中插入一个数据项,就必须先找到插入数据项的位置,然后将所有插入位置后面的数据项全部向后移动一位,来给新数据腾出空间,平均来讲要移动N/2次,这是很费时的。同理,删除数据也是。 然后我们介绍了另外一 阅读全文
posted @ 2022-03-17 22:13 残城碎梦 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 什么是策略模式 策略模式(Strategy Pattern):定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。 策略模式的定义 ①、Context封装角色 它也叫做上下文角色, 起承上启下封装作用, 屏蔽高层模块对策略、 算法的直接访问,封装可能存在的变化。 ②、Strategy 抽象策 阅读全文
posted @ 2022-03-17 09:01 残城碎梦 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 什么是模板模式? 模板方法模式(Template Method Pattern):定义一个操作中的算法的框架, 而将一些步骤延迟到子类中。 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 即:父类模板方法定义不变的流程,子类重写流程中的方法。 模板模式定义 ①、AbstractCl 阅读全文
posted @ 2022-03-17 08:59 残城碎梦 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 什么是观察者模式 观察者模式(Observer Design Pattern):在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对象都会得到通知并自动更新。 即:也叫发布订阅模式,能够很好的解耦一个对象改变,自动改变另一个对象这种情况。 观察者模式定义 ①、Subject 被观察 阅读全文
posted @ 2022-03-17 08:50 残城碎梦 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 什么是享元模式 享元模式(Flyweight Pattern):使用共享对象可以有效地支持大量的细粒度的对象。 即:复用对象,节省内存。 享元模式定义 ①、Flyweight —— 抽象享元角色 是一个产品的抽象类, 同时定义出对象的外部状态和内部状态的接口或实现。 一个对象信息可以分为内部状态和外 阅读全文
posted @ 2022-03-17 08:32 残城碎梦 阅读(169) 评论(0) 推荐(0) 编辑