摘要: 按照我的理解,责任链就是每个对象都含有自己下一个对象的引用. 当一个对象请求的时候,会根据要求找到正确的对象. public interface ILeave { String getName();//请假人姓名 int getNum();//请假天数 String getContent();//请 阅读全文
posted @ 2020-07-12 15:48 jesscia5 阅读(112) 评论(0) 推荐(0)
摘要: 迭代器模式是针对集合对象而生的,对于集合对象而言,肯定会涉及到对集合的添加和删除操作,同时也肯定支持遍历集合元素的操作,我们此时可以把遍历操作放在集合对象中,但这样的话,集合对象既承担太多的责任了,面向对象设计原则中有一条就是单一职责原则,所有我们要尽可能地分离这些职责,用不同的类取承担不同的责任, 阅读全文
posted @ 2020-07-12 15:25 jesscia5 阅读(160) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2020-07-12 15:05 jesscia5 阅读(0) 评论(0) 推荐(0)
摘要: 1. 发起人角色 记录当前时刻的内部状态,并负责创建和恢复备忘录数据,允许访问返回到先前状态所需的所有数据。 OriginatorcreateMemento就是创建一个含有自己内部状态的Memento然后setMemento就是把caretaker里的Memento对象拿出来,还原最初的属性 2. 阅读全文
posted @ 2020-07-11 22:14 jesscia5 阅读(127) 评论(0) 推荐(0)
摘要: 观察者模式中有观察者Observer和被观察者Subject。Subject里有一个arrayList之类的数据结构存储着这些观察者的实例对象,当Subject有变化时,就会通知这些Observer public interface Observer { public void update(); 阅读全文
posted @ 2020-07-11 21:23 jesscia5 阅读(126) 评论(0) 推荐(0)
摘要: 定义:(源于Design Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 public interface State { public void doJob(Washing washing); } public class Start implement 阅读全文
posted @ 2020-07-11 20:44 jesscia5 阅读(104) 评论(0) 推荐(0)
摘要: 策略模式 策略这个词应该怎么理解,打个比方说,我们出门的时候会选择不同的出行方式,比如骑自行车、坐公交、坐火车、坐飞机、坐火箭等等,这些出行方式,每一种都是一个策略。 再比如我们去逛商场,商场现在正在搞活动,有打折的、有满减的、有返利的等等,其实不管商场如何进行促销,说到底都是一些算法,这些算法本身 阅读全文
posted @ 2020-07-11 19:55 jesscia5 阅读(78) 评论(0) 推荐(0)
摘要: 个人认为访问者设计模式就是根据访问者的不同,展现事物不同的特性 public abstract class User { public String name; //姓名 public String identity; //身份 public String clazz; //班级 public Us 阅读全文
posted @ 2020-07-11 17:28 jesscia5 阅读(153) 评论(0) 推荐(0)
摘要: CyclicBarrier类似一个栅栏,只有规定的线程数量到了这个栅栏之后才会放行 首先来看CyclicBarrier的构造方法 public CyclicBarrier(int parties) { this(parties, null); } public CyclicBarrier(int p 阅读全文
posted @ 2020-07-05 15:14 jesscia5 阅读(144) 评论(0) 推荐(0)
摘要: CountDownLatch的两个核心用法 1.一个线程等待多个线程执行完之后再去执行 2.多个线程等待一个线程执行完之后再去执行 public CountDownLatch(int count) { if (count < 0) throw new IllegalArgumentException 阅读全文
posted @ 2020-07-04 11:28 jesscia5 阅读(138) 评论(0) 推荐(0)