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