设计模式
共勉
这个作者很懒,什么都没留下…
展开
-
简单工厂模式
1. 概述: 将一个具体类的实例化交给一个静态工厂方法来执行,它不属于GOF的23种设计模式,但现实中却经常会用到2. 模式中的角色 2.1 工厂类(Simple Factory): 只包含了创建具体类的静态方法。 2.2 抽象产品(Product):定义简单工厂中要返回的产品。 2.3 具体产品(ConcreteProduct):具体产品。转载 2015-04-03 21:45:50 · 388 阅读 · 0 评论 -
行为类模式-备忘录模式(11)
定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态类型:行为类类图: 我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。比如,我们使用Eclipse进行编程时,假如编写失误(例如不小心误删除了几行代码),我们希望返回删除前的状态,便可以使用Ctrl+Z来转载 2015-08-11 14:57:58 · 336 阅读 · 0 评论 -
行为类模式—命令模式(10)
定义:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。类型:行为类模式类图:命令模式的结构 顾名思义,命令模式就是对命令的封装,首先来看一下命令模式类图中的基本结构:Command类:是一个抽象类,类中对需要执行的命令进行声明,一般来说要对外公布一个execute转载 2015-08-11 14:47:11 · 290 阅读 · 0 评论 -
行为类模式-中介者模式(13)
定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类型:行为类模式类图:中介者模式的结构 中介者模式又称为调停者模式,从类图中看,共分为3部分: 抽象中介者:定义好同事类对象到中介者对象的接口,用于各个同事类之间的通信。一般包括一个或几个抽象的事件方法,并由子转载 2015-08-11 15:47:56 · 373 阅读 · 0 评论 -
行为类模式-访问者模式(12)
定义:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。类型:行为类模式类图: 访问者模式可能是行为类模式中最复杂的一种模式了,但是这不能成为我们不去掌握它的理由。我们首先来看一个简单的例子,代码如下:[java] view plaincopyclass转载 2015-08-11 15:06:07 · 324 阅读 · 0 评论 -
行为类模式—迭代器模式(9)
定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。类型:行为类模式类图: 如果要问java中使用最多的一种模式,答案不是单例模式,也不是工厂模式,更不是策略模式,而是迭代器模式,先来看一段代码吧:[java] view plaincopypublic static void prin转载 2015-08-11 14:25:23 · 301 阅读 · 0 评论 -
创建类模式小结
创建类模式主要关注对象的创建过程,将对象的创建过程进行封装,使客户端可以直接得到对象,而不用去关心如何创建对象。创建类模式有5种,分别是:单例模式:用于得到内存中的唯一对象。工厂方法模式:用于创建复杂对象。抽象工厂模式:用于创建一组相关或相互依赖的复杂对象。建造者模式:用于创建模块化的更加复杂的对象。原型模式:用于得到一个对象的拷贝。为什么需要创建性模式转载 2015-04-08 15:27:42 · 334 阅读 · 0 评论 -
创建者模式——原型模式(Prototype)(5)
定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类型:创建类模式类图:原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件:实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clo转载 2015-04-08 11:15:35 · 364 阅读 · 0 评论 -
Java开发中的23种设计模式详解
转自:http://zz563143188.iteye.com/blog/1847029一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式转载 2015-05-04 16:18:59 · 387 阅读 · 0 评论 -
行为类模式—观察者模式(8)
定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。类型:行为类模式类图: 在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。比如,我们要设计一个右键菜单的功能,只要在软件的有效区域内点击鼠标右键,就会弹出一个菜单;再比如,我们要设计一个自动部署转载 2015-04-08 16:23:50 · 414 阅读 · 0 评论 -
行为类模式—中介者模式(7)
定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类型:行为类模式类图:中介者模式的结构 中介者模式又称为调停者模式,从类图中看,共分为3部分: 抽象中介者:定义好同事类对象到中介者对象的接口,用于各个同事类之间的通信。一般包括一个或几个抽象的事件方法,并由子转载 2015-04-08 15:50:28 · 362 阅读 · 0 评论 -
创建者模式——抽象工厂模式(Abstract Factory)(3)
1. 概述 抽象工厂模式为一个产品家族提供了统一的创建接口。当需要这个产品家族的某一系列的时候,可以从抽象工厂中选出相对应的系列来创建一个具体的工厂类别。2. 抽象工厂模式中的角色 2.1 抽象工厂(AbstractFactory):担任这个角色的是工厂方法模式的核心,它是与应用系统商业逻辑无关的。 2.2 具体工厂(ConcreteFactory):这个角色转载 2015-04-03 22:37:23 · 518 阅读 · 0 评论 -
行为类模式—模版方法模式(6)
定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。类型:行为类模式类图: 事实上,模版方法是编程中一个经常用到的模式。先来看一个例子,某日,程序员A拿到一个任务:给定一个整数数组,把数组中的数由小到大排序,然后把排序之后的结果打印出来。经过分析之后,这个任务大体上可分为两部分,排序和转载 2015-04-08 15:40:47 · 357 阅读 · 0 评论 -
创建者模式——工厂方法模式(Factory Method)(2)
1. 概述: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类。2. 模式中的角色 2.1 抽象工厂(Creator):这个抽象类(或接口)声明一个创建对象的工厂方法,用来返回一个Product类型的对象。 2.2 具体工厂(ConcreteCreator):重定义工厂方法,返回一个具体的Concrete Product实例转载 2015-04-03 22:06:14 · 355 阅读 · 0 评论 -
设计模式学习总结
转载http://blog.csdn.net/shanliwa/article/details/1839737刚开始学习设计模式的时候,感到这些模式真的非常抽象。今年下半年以来,随着我们组工作重点的转移,以及我在小组中角色的变化,我开始有条件提出自己对新系统的设计想法。在设计过程中,我发现了很多设计模式的用处,也确实应用了很多设计模式,这让我越来越感到设计模式的重要性,因此我写了这十余篇专转载 2015-04-03 19:16:36 · 469 阅读 · 0 评论 -
创建者模式——建造者模式(Builder)(4)
一个人活到70岁以上,都会经历这样的几个阶段:婴儿,少年,青年,中年,老年。并且每个人在各个阶段肯定是不一样的呀,我觉得可以说世界上不存在两个人在人生的这5个阶段的生活完全一样,但是活到70岁以上的人,都经历了这几个阶段是肯定的。实际上这是一个比较经典的建造者模式的例子了。1.初识建造者模式建造者模式实际上是常用的设计模式。顾名思义,builder的意思是建造者或者建筑工人,谈到建转载 2015-04-08 10:58:07 · 555 阅读 · 0 评论 -
创建者模式——单例模式(Singleton)(1)
1. 描述: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。2. 单例模式主要有3个特点,: 2.1 单例类确保自己只有一个实例。 2.2 单例类必须自己创建自己的实例。 2.3 单例类必须为其他对象提供唯一的实例。3. 实现方式:懒汉单例类 和 饿汉单例类 3.1 懒汉式单例类 对于懒汉模式,我们可以这样理解:该单例类非常懒,只有在转载 2015-04-03 21:23:41 · 404 阅读 · 0 评论