摘要:
阻塞队列BlockingQueue,java.util.concurrent下的BlockingQueue接口表示一个线程放入和提取实例的队列。 适用场景: BlockingQueue通常用于一个线程生产对象,而另一个线程消费对象的场景。 一个线程往里面放,另一个线程从里面取的一个BlockingQ 阅读全文
摘要:
设计模式分为6种创建型,7种结构型,11种行为型。 1.创建型模式: 社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成了必然趋势。因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效的创建对象就是创建型模式要探讨的问题。 a.简单工厂 阅读全文
摘要:
访问者模式是行为模式的一种。访问者模式的基本想法是,软件系统中拥有一个由许多对象构成的、比较稳定的对象结构,这些对象的类都拥有一个accept方法用来接受访问者的访问。访问者是一个接口,它拥有一个visit方法,这个方法对访问到的对象结构中不同类型的元素做不同的处理。 角色和职责: 1.访问者(Vi 阅读全文
摘要:
命令模式:将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录日志,以及支持可撤销的操作,将”发出请求的对象”和”接收与执行这些请求的对象”分隔开来。 角色和职责: 1.Command: 声明执行操作的接口 2.Concrete Command: 具体实现 3.Invoke 阅读全文
摘要:
状态模式是行为模式的一种,状态模式允许改变对象内部状态来改变对象的行为。 角色和职责: 1.上下文(Context)-Order: 拥有内部的状态 2.状态接口(Status)-State: 一个所有具体状态的共同接口;任何状态都实现这个相同的接口,这样一来状态之间可以互相替换 3.具体状态(Con 阅读全文
摘要:
备忘录模式是行为模式之一,他的作用是备份对象内部信息,并在需要的时候恢复以前对象的信息。 角色和职责: 1.原生者(Originator)-Person: 原对象 2.备忘录(Memento) -Memento: 该对象由Originator创建,主要用来保存Originator的内部信息 3.管理 阅读全文
摘要:
模块方法模式是行为模式之一,它把具有特定步骤算法中的某些必要的处理委让给抽象方法,通过子类继承对抽象方法的不同实现改变整个算法的行为。 UML图: 具体代码: 结果: 页面1,写头页面1,写身页面1,写脚 页面2,写头页面2,写身页面2,写脚 应用场景: 1.具有统一的操作步骤或操作过程 2.具有不 阅读全文
摘要:
迭代器模式是行为模式的一种,它把对容器中包含的内部对象的访问委让给外部类,使用iterator遍历访问。 角色和职责: 1.迭代器接口(Iterator): 2.Concrete Iterator(迭代器实现类) -: 3.容器接口(Aggregate): 4.容器实现类(Concrete Aggr 阅读全文
摘要:
责任链模式是行为模式的一种,该模式构造一系列的分别担当不同职责的类的对象(HeaderCar、BodyCar、FooterCar)来共同完成一个任务,这些类的对象之间像链条一样紧密相连。 角色和职责: 1.抽象处理者(Handler)-CarHandler: 2.具体处理者(Concrete Han 阅读全文
摘要:
中介者模式是行为型模式的一种,在Mediator中,类之间的交互行为被统一放在Mediator对象中,对象通过Mediator对象同其他对象交互。 角色和职责: 1.中介者接口(Mediator): 中介者类的抽象父类 2.具体中介者(Concrete Mediator) -: 3.关联抽象父类(c 阅读全文