
Java设计模式学习笔记
liyf155
这个作者很懒,什么都没留下…
展开
-
简单工厂模式
简单工厂模式是类的创建模式,又叫静态工厂方法模式,是由一个工厂对象决定创建出哪一种产品类的实例。 简单工厂模式就是由一个工厂类根据传入的参量决定创建出哪一种产品类的实例,涉及到工厂角色、抽象产品角色以及具体产品角色。 1 工厂类角色:担任这个角色的是工厂方法模式的核心,含有与应用紧密相关的商业逻辑关系。工厂类在客户端直接调用下创建产品对象,它往往由一个具体Java类实...2011-09-26 21:19:16 · 86 阅读 · 0 评论 -
UML解惑:图说UML中的六大关系(转)
UML定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。这些类间关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑。这里给出这六种主要UML关系的说明和类图描述,一看之下,清晰明了;以下就分别介绍这几种关系:继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之...原创 2012-08-03 18:43:32 · 132 阅读 · 0 评论 -
工厂方法模式
之前有一篇简单工厂模式的介绍:http://liyf155.iteye.com/blog/1180975,里面介绍了简单工厂模式。简单工厂模式的缺点是很明显的,对“开-闭”原则的支持不够,即扩展性不好,如果有新的产品加入到系统中,那么就要去修改工厂类,并且将必要的逻辑加入到工厂类中,工厂方法模式的引进,既保留了简单工厂模式的有点,又克服了它的缺点。 首先,在工厂方法...原创 2012-07-31 22:27:57 · 109 阅读 · 0 评论 -
类之间的关系--关联、聚合、泛化、依赖
系统一般不会只包含一个类,而往往是由多个类组成的。寻找系统中类与类之间的相互关系,是建模必不可少、也是非常关键的一个过程。两个类之间的关系一般包括关联、聚合、泛化和依赖,还有实现关系。 1.关联 当两个类之间在概念上有连接关系时,类之间的连接成为关联。关联关系描述给定类的对象之间语义上的连接,它提供了不同类的对象可以相互作用的连接。 在Rose...原创 2011-12-06 09:35:34 · 402 阅读 · 0 评论 -
Java桥接模式(Bridge)
概念性的东西就不说了,毕竟自己理解还不够透彻,所以前面一段直接删了。 简单的设计图: 代码的实现: package bridge;public abstract class Clothing { /** * 抽象方法 * @param person */ public abstract void dressCloth(Person...2011-10-12 11:31:45 · 120 阅读 · 0 评论 -
Java外观(Facade)模式
所谓外观模式就是要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行交互。外观模式提供一个高层次的接口使得子系统更易于使用。 相关角色: 1.外观(Facade)角色:客户端可以调用这个角色的方法。此角色知晓相关的子系统的功能和责任。 2.子系统角色:可以同时有一个或者多个子系统。每一个子系统都不是一个单独的类,而是一个类的集...原创 2011-10-11 16:27:47 · 139 阅读 · 0 评论 -
Composite设计模式
Composite模式属于对象的结构模式,有时候又叫部分-整体模式,它将对象组织到树结构中,把部分与整体的关系用树结构表示出来,例如一个文件系统就是个很典型的Composite模式系统。 Composite模式的三个角色: 1 Component(根节点) 为组合中的对象声明接口,在适当情况下,实现所有类共有接口的缺省行为,声明一个接口用于访问和管理Compo...2011-10-09 11:09:54 · 177 阅读 · 0 评论 -
适配器模式
适配器模式,即把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法一起工作的两个类能够在一起工作。例如:笔记本的电源适配器、二脚转三脚的电源插座等等。 适配器分成两种形式,分别是类的适配器模式和对象的适配器模式,它们的结构图如下图所示: 实现源码:(由于个人Rational Rose用的不熟,可能代码与上图有点差异) 类的适配器模式:...原创 2011-09-30 10:46:21 · 102 阅读 · 0 评论 -
单例模式(Singleton)
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类即被称为单例类。 单例类的特点: 1.单例类只能有一个实例 2.单例类必须自己创建自己的惟一的实例 3.单例类必须给所有其他对象提供这一实例懒汉式单例模式:[code="java"]package singleton;/** * 懒汉式单例模式 ...2011-09-27 15:31:44 · 108 阅读 · 0 评论 -
设计模式:简单工厂、工厂方法、抽象工厂之小结与区别 (转)
简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性。本文是本人对这三种模式学习后的一个小结以及对他们之间的区别的理解。简单工厂 简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。不修改代码的话,是无法扩展的。工厂方法 工厂方法...原创 2011-09-26 21:33:37 · 101 阅读 · 0 评论 -
抽象工厂模式(Abstract)
学习抽象工厂模式首先要了解什么是产品族和产品等级这两个概念,所谓的产品族,是指位于不同产品等级结构中功能相关联的产品组成的家族,抽象工厂模式所提供的一系列产品就组成一个产品族,而产品等级的概念,其实就是一个具体产品,简单的来区分产品族和产品等级,就是产品族是抽象的,而产品等级是具体的。 举个很简单的例子,苹果iPhone手机和三星Galaxy手机,是同一个产品等级,它...2014-01-24 14:43:00 · 122 阅读 · 0 评论