
数据结构
萤火虫的星光
这个作者很懒,什么都没留下…
展开
-
设计模式系列之--迭代器模式
迭代器模式 这种类型的设计模式属于结构型模式,它调整了代码结构。 迭代器模式 是一种遍历的模式 他通过抽象出一个通用的遍历接口 来实现一套方式遍历多种集合 iterator接口 定义了 hashNext 方法 和next方法 来进行遍历 hashNext 方法判断是否还有下一个 ,next方法来取出集合中对象 具体遍历类实现iterator接口具体实现目标类的遍历方法 目标类提供调用方法来进行遍历...原创 2020-03-29 17:14:07 · 97 阅读 · 0 评论 -
设计模式系列之--命令模式
命令模式 这种设计模式属于行为型的设计模式,他解决了方法的合理调用 命令模式和外观模式 很像都是通过一个类来进行管理 不同: 外观模式是管理类的角度 命令模式是管理方法角度 而且外观模式的模式种类很固定 命令模式的优缺点 : 优点: 解耦效果很好 缺点 : 当指令过多造成内存占用大 命令模式通过 一个Master来发起命令 -> 给命令类 -> 找接受者接受 命令类中决定了接受者如何被...原创 2020-03-27 21:31:22 · 161 阅读 · 0 评论 -
设计模式系列之--模板方法模式
模板方法模式 这种设计模式属于行为型的设计模式,他解决了方法的合理调用 模板方法模式 顾名思义就是 创建一个模板 子类来照着写 模板方法和建造者模式中的指挥者的角色很像 都是提供了流程按流程顺序执行 模板方法和建造者模式的不同: 建造者模式的目的是建造对象 他的最终目标是返回一个对象(重点在于结果) 而模板方法模式终点是在于方法的调用(重点在于过程) 模板方法类更像是建造类和指挥者类耦合到一起的...原创 2020-03-27 19:30:32 · 119 阅读 · 0 评论 -
设计模式系列之--代理模式
代理模式 这种类型的设计模式属于结构型模式,它调整了代码结构。 代理模式可以分为 动态代理 静态代理 动态代理又可以分为 cglib代理 和jdk代理 静态代理 动态(jdk)代理 动态(cglib)代理 静态代理和装饰器模式非常想 都是实现接口 组合被代理类 增强代理方法 代码可以说是一模一样 在这里我们就把他当成一样的就行(网上也没找到区别是什么 据说装饰器是构造器传入对象 静态代理是直接n...原创 2020-03-27 13:51:06 · 104 阅读 · 0 评论 -
设计模式系列之--享元模式
享元模式 享元模式是一种结构性模式,他调整了代码的结构 一说到享元模式 那必然会说到池技术 池技术的实现靠的就是享元模式 享元模式又叫蝇量模式 他主要解决了创建过多相同对象的问题 享元模式和单例模式类似 单例模式是类只有一个实例不可以创建多个实例 是在类上做限制 享元模式是可以有多个实例但是实例数量是固定的调用也是只会调用这几个对象 是在对象上做限制 享元模式的创建对象是通过工厂创建的 工厂中有一...原创 2020-03-26 19:46:40 · 98 阅读 · 0 评论 -
设计模式系列之--装饰者模式
装饰者模式 这种类型的设计模式属于结构型模式,它调整了代码结构。 装饰器模式顾名思义是将类进行包装增强的一种模式 ,他与桥接模式相反 桥接模式是类似于空出一块交给别人处理以实现扩展, 装饰者模式是将这个类,增加代码以实现扩展 ...原创 2020-03-25 22:50:46 · 100 阅读 · 0 评论 -
设计模式系列之--桥接模式
桥接模式 这种类型的设计模式属于结构型模式,它更改或调整了代码的结构 和适配器模式不同,适配器模式主要解决了插头不一样的问题,桥接模式主要是为什么要有插头的问题, 桥接模式主要是用来解耦的,将不同的功能以接口的形式暴露,给不同厂商做适配提供了机会,好处1是解耦,2来生产商不用关心具体实现,提供接口即可 举个例子 例如 以前的游戏机游戏是嵌在主板上的只能玩一个俄罗斯方块,这样的弊端是 若想玩更多的游...原创 2020-03-24 14:17:48 · 111 阅读 · 0 评论 -
设计模式系列之--适配器模式
适配器模式 这种类型的设计模式属于结构型模式,它更改或调整了代码的结构 适配器顾名思义是将类与另一类进行适配,使得两个类之间兼容 首先兼容的两个类肯定是有关联的 适配器模式的产生 是由于对一个事情的不同标准或不同版本造成的(如类型不同的插头),若想让不同的标准可以兼容 那么就需要一个中间的一个东西同时兼顾两种标准 将两种不同标准中不同的地方进行转换(如转接插头 log4j的转换) 在java中需要...原创 2020-03-22 00:31:52 · 120 阅读 · 0 评论 -
设计模式系列之--建造者模式
原型模式 这种类型的设计模式属于创建型模式,它提供了一种创建对象的方式。 建造者模式与工厂模式很像 他们的区别是: 建造者模式注重过程 工厂模式注重结果 建造者模式也是一种生产一类对象的模式 但是这一类对象要求生产过程或流程统一 工厂模式只提供了创建的方法具体创建方式由子工厂自己决定 而建造者模式提供了建造的基本流程(标准) 那么子工厂需要按照这些流程来生产(父类只提供基本流程详细步骤还是要子类自...原创 2020-03-21 22:59:24 · 91 阅读 · 0 评论 -
设计模式系列之--原型模式
原型模式 这种类型的设计模式属于创建型模式,它提供了一种创建对象的方式。 是不是创建型模式的核心就是不new对象hhh 原型模式与其他两种创建型模式不同 主要用于克隆对象 当需要一个与原来对象一模一样的对象时就可以用原型模式进行创建 主要是使用clone方法 和序列化反序列化的方式进行复制 复制来的对象 要比new出来的对象效率要高 而且当需要复制的目标对象发生改变时 此时复制出来的对象就也是新状...原创 2020-03-20 18:21:09 · 143 阅读 · 0 评论 -
设计模式系列之--外观模式
单例模式 这种类型的设计模式属于创建型模式,它提供了一种创建对象的方式。 与单例模式相反 当需要创建很多类 而这些类属于同一类型或相似 我们希望可以有一个类可以将重复的代码抽取出来 将公有重复代码抽取通过传入标识来返回所需的对象这种模式称为工厂模式 简单工厂模式将一相似的类进行统一的生产,一个简单工厂只完成一个功能(可以多个功能但是违背单一职责原则),但是若有多个功能那就需要创建多个简单工厂(而且...原创 2020-03-20 16:53:47 · 146 阅读 · 0 评论 -
设计模式系列之--单例模式心得
单例模式 这种类型的设计模式属于创建型模式,它提供了一种创建对象的方式。 单例模式顾名思义就是只全局创建一个对象 若想达到此目的则需要满足 (1) 类提供对象不允许自行创建 这样就需要私有化构造器 (2) 类通过公有方法来暴露这个对象以便其他人拿到这个对象 类需要创建对象 但是类创建对象的时机可以不同以此作为分类 分成了饿汉式和懒汉式两种方式 (1)类在其他人获取对象之前就先创建好对象为饿汉式 (...原创 2020-03-19 16:25:39 · 239 阅读 · 0 评论 -
马踏棋盘问题回溯算法
马踏棋盘问题 思路 : 使用回溯算法遍历强行算出来 描述 : 在找到结果后会直接退出 可以去掉exit语句可以找到所有符合条件的解 package hourse; import java.util.Arrays; public class Hourse { private static final int size = 6; public void walk(int x,i...原创 2020-03-18 13:30:04 · 301 阅读 · 0 评论