摘要: 标签 :设计模式 引言 一个学校可能每天有不同的领导过来巡视检查,今天来一个教育局领导检查教育实施工作,明天来一个卫生局的领导检查食堂卫生,后天来一个公安局的领导检查安全消防安全设备。 每一个领导会带着不同的目的来访问学校。 教育局领导的工作内容包括教育方针研讨会、课堂旁听和教师慰问;卫生局领导的工 阅读全文
posted @ 2017-05-12 07:02 斑鱼 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 标签: 设计模式 引言 在模板方法模式中,将实现功能的每一个步骤所对应的方法称为 基本方法 (例如“点单”、“吃东西”和“买单”),而调用这些基本方法同时定义基本方法的执行次序的方法称为 模板方法 (例如“请客”)。 模板方法 定义算法执行的骨架,子类继承下来直接使用,一般用final修饰不允许子类 阅读全文
posted @ 2017-05-10 09:32 斑鱼 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 标签(空格分隔): 设计模式 行为型模式 。 一个类的行为或者其算法可以在运行时更改。 策略模式与状态模式类似,但Context类中包含一个strategy接口的引用,而不是state接口的引用。 策略的选择是客户端决定的,不同的策略最终都是为了达到同一个效果。例如排序算法有很多种,可以使用策略模式 阅读全文
posted @ 2017-05-09 20:13 斑鱼 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 标签(空格分隔): 设计模式 行为型模式。 类的行为是基于它的状态改变的,状态改变,行为跟着改变。 具体实现: 一个状态接口,具体状态类实现该接口。 一个Context类,拥有状态的实例,随着这个状态的改变,它的行为会改变。 注重状态的转变,状态只能从一个状态转变按规则转变成另一个状态,而不是任意转 阅读全文
posted @ 2017-05-08 21:55 斑鱼 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 标签(空格分隔): 设计模式 行为型模式。 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 不知道观察者有多少个,观察者可以动态绑定和解绑。 具体实现: Subject角色 :抽象角色,用来存放所有观测者,即聚集一个Observer的list 阅读全文
posted @ 2017-05-06 16:50 斑鱼 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 标签(空格分隔): 设计模式 简介 行为型模式。保存一个对象的状态,以便在某个时刻恢复对象。 打boss前存档,下象棋悔棋,编辑文档时使用Ctrl+z撤销等场景都是备忘录模式的应用。 优点:可以回滚。缺点:资源消耗严重。 具体实现 写一个存储对象状态的类(类似于备忘),然后在另一个类中维护一个备忘类 阅读全文
posted @ 2017-05-05 10:03 斑鱼 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 标签(空格分隔): 设计模式 降低多个对象与类之间的通信复杂性。 行为型模式。 将网状结构的类交互,分离成星型结构。 没有QQ之前,大家的沟通都是两两之间面对面的,消息的交互非常复杂,如果想要发出一条新信息,让大家都知道,这个过程要传递很多遍。有了QQ群之后,大家只要把消息发到QQ群上,所有人立马就 阅读全文
posted @ 2017-05-04 16:06 斑鱼 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 标签: java基础 在Java中,我们经常需要复制一个数组,以下介绍几种数组复制方法。 1. for循环复制 最简单直观的方法,循环访问当前数组的每一个元素,并复制到新数组的相应下标。 java int [] oldArray = {1, 2, 3}; int [] newArray = new 阅读全文
posted @ 2017-04-22 09:58 斑鱼 阅读(2449) 评论(0) 推荐(0) 编辑
摘要: 标签: 剑指offer 题目描述 : 只包含因子2,3,5的数称为 丑数 ,1是第一个丑数,求第n个丑数是什么。 思路: 1 . 暴力法 。 从1开始遍历每个整数,判断每个数是不是丑数,是的话计数器加1,当计数器等于n时,返回当前遍历到的整数。这种算法要计算1到第n个丑数中间的所有数。 java / 阅读全文
posted @ 2017-04-16 16:35 斑鱼 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 1. huffman树的构造过程,带权路径长度。 2. 给出二叉树的先序遍历,中序遍历,求后序遍历。 阅读全文
posted @ 2017-04-16 15:15 斑鱼 阅读(197) 评论(0) 推荐(0) 编辑