设计模式及UML(pd/rose)
FreedomRoad~
专注于app底层/架构/算法/业务工作流程,记录进步的足迹和感悟。
展开
-
Adapter适配器模式-java设计模式6(结构型模式)
Adapter适配器模式:编写能够和不同接口的类进行通信,为调用类提供统一适配器接口的类(也可以是只简单实现了接口的类如:API中各种事件Adapter)。可能要求此构造类为不同调用类裁剪出不同的构造方法。实现这种要求有两种方法:1.继承。2.对象组合。一:继承实现适配器,从一个非一致的类派生一个新类,并增加新的方法使派生类与所需...2011-08-18 01:08:15 · 129 阅读 · 0 评论 -
Builder生成器模式-java设计模式4
一、概念:Builder生成器模式,是根据应用所提供的数据特征返回不同的显示子类,在显示子类里面取得数据组合相关对象(组件)将数据显示出来,这里强调的是将数据特征和表现分离。抽象工厂模式是根据用户事件返回一个固定的对象组,然后返回模型的不同对象,强调的是根据事件返回一系列相关的类。二、示例: 投资跟踪小程序的UML图如下: 创...2011-08-14 01:54:05 · 116 阅读 · 0 评论 -
Singleton单例模式-java设计模式3
Singleton单例模式是保证一个类有且仅有一个实例,并且提供全局的访问点,用于解决设计的程序包含大量实例时,往往要保证一个类中只能有一个实例。但是单例类很难生成子类,因为在单例基类没有实例化是才有效。很容易对单例修改为非单例使其在特定项目下可有多个实例。一、使用类的静态方法,这也是最常用的方法:(1)定义类的静态对象: public class ...2011-08-13 18:23:57 · 140 阅读 · 0 评论 -
Abstract Factory抽象工厂模式-java设计模式2
一、概念:Abstract Factory是比Factorymethod更加抽象的一种模式,不是在factory也不是在子类中决定返回的子类,而是将这种判断交给的应用类。1.判断在应用类,返回创建类的子类对象组对象。2.用对象组对象可以factory基类中声明的方法返回模型对象,模型对象可以返回不同的具体对象。二、实例:创建一个园林的设计方案小程序,可以根据种植时间长短返回不同的种植方...2011-08-09 18:34:25 · 126 阅读 · 0 评论 -
Factory Method工厂方法模式-java设计模式1
一、概念:在Simple Factory基础上做了扩展,1.不再直接由Factory做判断生成业务基类类型的子类对象(引用不同的子类),而是将判断推迟到Factory的子类中完成;2.但是生成的业务基类类型对象将一样调用自己已声明的方法实现功能,模型类也将从中获取子类处理结果后显示结果。二、示例:游泳选手的比赛中,分为预赛和决赛。规则是预赛先按照报名的以前最好成绩排序,...2011-08-09 18:33:12 · 144 阅读 · 0 评论 -
Simple Factory(Static factory)简单工厂模式-java设计模式1
一、概念: 简单工厂模式,就是一个应用声明了Factory对象,然后传入参数,Factory根据参数判断决定返回那个子类对象。 这些子类通常具有共同的父类和共同的方法,但是不同的类执行的任务个不相同。 二、示例模型: 下面是James W.Cooper著的《Java Design Patterns A Tutorial》举的一个经典例子,支持“Jer...2011-08-09 18:31:25 · 124 阅读 · 0 评论 -
类图use-a,has-a,contain-a(composition),implements,extends区别
一、横向关系:1.depedency依赖,use-a是类之间的一种很弱的联系,use-a,send-a,parameter-a关系,常用是将一个类对象作为一个类里面方法的参数。是偶然的,临时的,对象间是并列关系调用了一个对象,以利用它的成员。2.association关联,use-a他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的...2011-08-09 18:30:37 · 660 阅读 · 0 评论 -
Rose中的逆向工程
1.配置完java路径环境变量后(一般安装rose时会自动配置好),逆向工程时,可以先创建logical view中的classdiagram(不创建先也可以)->Tools->java/j2ee->reverse engineer 如图:2.选择Edit CLASSPATH,选择路径可以new delete路径,点击路径,选择Filte->add 也可以ad...2011-08-09 18:26:11 · 647 阅读 · 0 评论 -
RUP的Rose中用例关系,类关系基础(作图标识和设计模式)
一、用例图中有: A relationship B箭头都是从A指向B。(1)associate直接关联,从actor指向功能模块,实线>型箭头表示。(2)include例如网上预订包含了填写表格(在其中的),从网上预订指向填写表格,虚线>型箭头表示。(3) extend例如缴纳费用 在还书 还车用例中,从罚金指向还车,虚线>型...2011-08-09 18:25:03 · 537 阅读 · 0 评论 -
Bridge桥接模式-java设计模式7
一、 概念:表面上Brigde和Adapter都是将一种接口转换为另一种接口的类,但是适配器是使得一到多个类的接口看起来都像是一个特定类的接口。相反桥接器是为了将类的接口与它的实现相分离,这样扩展时只要继承接口类或添加实现类来分离独立实现。而不会导致适配器扩展时的添加接口,然后再在实现类编写调用,或者继承再添加接口的整合累加式的代码增长。 桥接模式模式包括: ...2011-08-19 13:46:07 · 168 阅读 · 0 评论 -
Prototype原型模型-java设计模式5
一、概念:Prototype原型模式:通过复制一个或多个原型类,然后修改或填充具体的内容获得目标类的方式。如果目标类与原型类相似或者他们本身就属于一个类型组(特别是来自一个数据集合对象),则可以使用原型模式。二、示例:游泳比赛选手列表小程序,先创建一个TimeSwimData类的列表的Vector对象,然后从中复制修改填充AgeSwimData类、SexSwimData...2011-08-15 13:41:42 · 201 阅读 · 0 评论