Java设计模式
文章平均质量分 65
storm-code
这个作者很懒,什么都没留下…
展开
-
设计模式前奏
1.什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。2.设计模式的基本要素模式名称(Pat原创 2015-03-08 22:20:27 · 420 阅读 · 0 评论 -
设计模式之禅学习笔记--迭代器模式
一、定义它提供一种方法访问一个容器对象中的各个元素,而不需要暴露该对象的内部细节。二、通用类图迭代器模式提供了遍历容器的方便性,容器只要管理增减元素就可以了,需要遍历是交由迭代器进行。1:Iterator 抽象迭代器抽象迭代器负责定义访问和遍历元素的接口,而且基本上是有固定的3个方法:first()获取第一个元素,next()访问下一个元素,isDone()是否已经访问原创 2015-05-18 23:24:21 · 492 阅读 · 0 评论 -
设计模式之禅学习笔记--适配器模式
一、定义将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配二无法一起工作的两个类能够在一起工作。二、通用类图1:target 目标角色该角色定义把其他类转换为何种接口,也就是我们的期望接口。2:Adaptee 源角色你想把谁转换成目标角色,这个“谁”就是源角色,它是已经存在的、运行良好的类或对象,经过适配器角色的包装,它会成为一个崭新的角色原创 2015-05-17 21:21:34 · 570 阅读 · 0 评论 -
设计模式之禅学习笔记--责任链模式
一、定义使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。责任链模式的重点是在“链”上,由一条链去处理相似的请求在链中决定谁来处理这个请求,并返回相应的结果。二、通用类图责任链模式的核心在“链”上,“链”是由多个处理者ConcreteHandler组成的。1:抽象的处理者实现三个原创 2015-05-07 23:36:31 · 813 阅读 · 0 评论 -
设计模式之禅学习笔记--观察者模式
一、定义定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。二、通用类图1:Subject 被观察者定义被观察者必须实现的职责,它必须能够动态增加、取消观察者。被观察者必须实现的职责:管理观察者并通知观察者。2:Observer 观察者观察者接收到消息后,即进行update操作,对接收到的消息进行处理。3:Con原创 2015-05-20 22:32:01 · 559 阅读 · 0 评论 -
设计模式之禅学习笔记--策略模式
一、定义定义一组算法,将每个算法都封装起来,并且使它们之间可以互换(实现相同的接口)。二、通用类图策略模式使用的就是面向对象的继承和多态机制,非常容易理解和掌握。1:Context 封装角色它也叫做上下文角色,起承上启下封装作用,屏蔽高层模块对策略、算法的直接封装可能存在的变化。2:Strategy 抽象策略角色策略、算法家族的抽象,通常为接口,定义每个原创 2015-05-14 23:22:12 · 1287 阅读 · 0 评论 -
设计模式之禅学习笔记--命令模式
一、定义命令模式时一个高内聚的模式。将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。二、通用类图1:Receive接受者角色:该角色就是干活的角色,命令传递到这里时应该被执行的。2:Command 命令角色:需要执行的所有命令都在这里声明。3:Invoker调用者角色:接收命令并执行命令。原创 2015-05-06 22:32:23 · 382 阅读 · 0 评论 -
设计模式之禅学习笔记--装饰者模式
一、定义动态地给一个对象添加一些额外的职责。就增加功能来说,装饰者模式相比生成子类更为灵活。二、通用类图1:Component 抽象构件。Component是一个接口或者是抽象类,就是定义我们最核心的对象,也就是最原始的对象。2:ConcreteComponent 具体构件。ConcreteComponent是最核心、最原始、最基本的接口或抽象类的实现,要装饰的就是它。原创 2015-05-13 23:39:59 · 551 阅读 · 0 评论 -
设计模式之禅学习笔记--中介者模式
一、定义用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示的相互作用,从而使其耦合松散,而且可以独立的改变它们之间的交互。二、通用类图中介者模式由以下几部分组成:1:Mediator抽象中介者角色。抽象中介者角色定义统一的接口,用于各同事角色之间的通信。2:ConcreteMediator具体中介者角色。具体中介者角色通过协调各同事角色实现协作行为,因为它必须原创 2015-05-05 23:21:05 · 463 阅读 · 0 评论 -
设计模式之禅学习笔记--原型模式
一、定义用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象二、通用类图原型模式的核心是clone方法,通过 调用该方法进行对象的克隆/拷贝。在Java中提供了一个Cloneable接口来标示这个对象是可以拷贝的。Cloneable接口中没有一个方法,只起到标示作用,只需要重写Object类中的clone()方法即可拷贝该对象。三、通用代码publ原创 2015-05-04 23:59:30 · 399 阅读 · 0 评论 -
设计模式之禅学习笔记--组合模式
一、定义将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。二、通用类图1:Component 抽象构件角色定义参加组合对象的共有方法和属性,可以定义一些默认的行为或属性。2:Leaf 叶子构件叶子对象,其下再也没有其他的分支,也就是遍历的最小单位。3:Composite 树枝构件树枝对象,它的作用是组合树枝节点原创 2015-05-19 22:59:35 · 496 阅读 · 0 评论