摘要:
http://www.cnblogs.com/yxonline/archive/2011/01/14/1935708.html本文主要介绍域的概念以及使用。一、概念域:实际上就是一个取值范围,也可扩展为一个数据类型。域可以定义检查约束、取值范围、最大值、最小值、默认值等。域是通过用户自定义类型实现的,定义一个域的后,可以实多个实体的属性共享,这也模型设计中非常重要。例如:“服务生”、“客户”、“操作员”三个实体中都有“姓名”属性,我们就可以定义一个“姓名”域,分别附加到三个实体中,修改域的同时,使用域的实体的相关属性也会随之更新。所图所示二、域的定义菜单Model-Domains,在弹出窗口 阅读全文
摘要:
http://www.cnblogs.com/yxonline/archive/2011/01/14/1935612.html本文主要介绍继承联系定义及使用。一、 定义实体之间除了我们之前所讲的联系外,还存在分类关系、继承关系。在CDM中我们统称分类关系、继承关系为继承联系。通过特殊化或概化方法产生的实体类型之间的联系称为继承联系。特殊化:在实体集内部分组并把这些分组存放在不同的实体类型中的过程称为实体集的特殊化。概化:从多个实体集的公共属性中抽象出一个公共实体类型的过程为实体集的概化。继承联系的一端是具有普遍性的实体集,为父实体集,另一端连接的是具体特殊的一个或多个实体集,为子实体集。例如: 阅读全文
摘要:
http://www.cnblogs.com/yxonline/archive/2007/04/12/710816.html本文主要介绍联系的定义及使用。一、联系联系(Relationship)是指实体集这间或实体集内部实例之间的连接。实体之间可以通过联系来相互关联。与实体和实体集对应,联系也可以分为联系和联系集,联系集是实体集之间的联系,联系是实体之间的联系,联系是具有方向性的。联系和联系集在含义明确的情况之下均可称为联系。按照实体类型中实例之间的数量对应关系,通常可将联系分为4类,即一对一(ONETO ONE)联系、一对多(ONE TO MANY)联系、多对一(MANY TO ONE)联系 阅读全文
摘要:
http://www.cnblogs.com/yxonline/archive/2007/04/11/708387.html本文主要介绍数据项、新增数据项、数据项的唯一性代码选项和重用选项等。一、数据项数据项(Data Item)是信息存储的最小单位,它可以附加在实体上作为实体的属性。注意:模型中允许存在没有附加至任何实体上的数据项。二、新建数据项1)使用“Model”--- Data Items 菜单,在打开的窗口中显示已有的数据项的列表,点击 “Add a Row”按钮,创建一个新数据项,如图所示2)当然您可以继续设置具体数据项的Code、DataType、Length等等信息。这里就不 阅读全文
摘要:
http://www.cnblogs.com/yxonline/archive/2007/04/09/705718.html本文主要介绍属性的标准检查约束、如何定义属性的附加检查。一、定义属性的标准检查约束标准检查约束是一组确保属性有效的表达式。在实体属性的特性窗口,打开如图所示的检查选项卡。在这个选项卡可以定义属性的标准检查约束,窗口中每项的参数的含义,如下参数说明Minimum属性可接受的最小数Maximum属性可接受的最大数Default属性不赋值时,系统提供的默认值Unit单位,如公里、吨、元Format属性的数据显示格式Lowercase属性的赋值全部变为小写字母Uppercase属 阅读全文
摘要:
http://www.cnblogs.com/yxonline/archive/2007/04/11/708271.html本文主要介绍如何定义实体的主、次标识符。一、标识符标识符是实体中一个或多个属性的集合,可用来唯一标识实体中的一个实例。要强调的是,CDM中的标识符等价于PDM中的主键或候选键。每个实体都必须至少有一个标识符。如果实体只有一个标识符,则它为实体的主标识符。如果实体有多个标识符,则其中一个被指定为主标识符,其余的标识符就是次标识符了。二、如果定义主、次标识符1)选择某个实体双击弹出实体的属性对话框。在Identifiers选项卡上可以进行实体标识符的定义。如下图所示2)选择第 阅读全文
摘要:
http://www.cnblogs.com/yxonline/archive/2007/04/09/705631.html本文主要介绍PowerDesigner概念数据模型以及实体、属性创建。一、新建概念数据模型1)选择File--New,弹出如图所示对话框,选择CDM模型(即概念数据模型)建立模型。2)完成概念数据模型的创建。以下图示,对当前的工作空间进行简单介绍。(以后再更详细说明)3)选择新增的CDM模型,右击,在弹出的菜单中选择“Properties”属性项,弹出如图所示对话框。在“General”标签里可以输入所建模型的名称、代码、描述、创建者、版本以及默认的图表等等信息。在“N 阅读全文
摘要:
http://www.cnblogs.com/yxonline/archive/2007/04/09/705479.html一、概念数据模型概述数据模型是现实世界中数据特征的抽象。数据模型应该满足三个方面的要求:1)能够比较真实地模拟现实世界2)容易为人所理解3)便于计算机实现概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。通常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。换句话说,就是先将现实世界中的客观对象抽象为实体(Entity) 阅读全文
摘要:
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 1.设计模式....................................................................................................................... 31.1创建型模式................................................................................................ 阅读全文
摘要:
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 中介者模式用一个中介对象来封装一系列的对象交互,从而使它们可以较松散的耦合。1) 抽象中介者(Mediator)角色:抽象中介者角色定义统一的接口用于各同事角色之间的通信。2) 具体中介者(ConcreteMediator)角色:具体中介者角色通过协调各同事角色实现协作行为。为此它要知道并引用各个同事角色。3) 同事(Colleague)角色:每一个同事角色都知道对应的具体中介者角色,而且与其他的同事角色通信的时候,一定要通过中介者角色协作。在此写了7个ja 阅读全文
摘要:
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 状态模式允许一个对象再其内部状态改变的时候改变其行为状态模式的结构:抽象状态角色:定义一个接口,用以封装环境对象的一个特定的状态所对应的行为具体状态角色:每一个具体状态类都实现了环境的一个状态所对应的行为环境角色:定义客户端所感兴趣的接口,并且保留一个具体状态类的实例,这个具体状态类的实例给出此环境对象的现有状态首先我们抽象出状态,以及该状态下的行为,interface State{ public void shot();}然后实现具体状态,我们这里有三个, 阅读全文
摘要:
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链,请求在这个链上传递,直到链上的某一个对象决定处理此请求,发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任。责任链模式结构:抽象处理者角色:定义出一个处理请求的接口,还可以定义一个方法,以设定和返回对下家的引用具体处理者角色:具体处理者接到请求后,可以选择将请求处理掉,或者将请求传给下家public interfa 阅读全文
摘要:
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 模板方法模式,准备一个抽象类,将部分逻辑以具体方法以及具体构造器的形式实现模板方法模式的结构:抽象模板角色:定义一个或多个抽象操作,以便让子类实现,并实现了一个模板方法具体模板角色:实现一个或多个抽象操作,每一个抽象模板角色都可以有任意多个具体模板角色与之对应。package cn.tcl.test;public abstract class MakeBox {public void doThis(){System.out.println("do this 阅读全文
摘要:
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 给定一种语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器1) 抽象表达式角色:声明一个抽象的解释操作,这个接口为所有具体表达式角色(抽象语法树中的节点)都要实现的。2) 终结符表达式角色:具体表达式。3) 非终结符表达式角色:具体表达式。4) 上下文(环境)角色:包含解释器之外的一些全局信息。//上下文(环境)角色,使用HashMap来存储变量对应的数值class Context { private Map valueMap = new 阅读全文
摘要:
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 命令模式把一个请求或者操作封装到一个对象中,把发出命令的责任和执行命令的责任分割开,委派给不同的对象。命令模式结构:客户角色:创建一个具体命令对象并确定其接收者命令角色:声明了一个给所有具体命令类的抽象接口具体命令角色:定义一个接收者和行为之间的弱耦合,实现execute()方法,负责调用接收者的相应操作请求者角色:负责调用命令对象执行请求接收者角色:负责具体实施和执行一个请求1publicclassClient{2publicstaticvoidmain( 阅读全文
摘要:
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 外部与一个子系统的通信必须通过一个统一的门面对象进行,这就是门面模式外部与一个子系统的通信必须通过一个统一的门面对象进行,这就是门面模式。一般而言,Facade模式是为了 降低子系统之间,客户端与实现化层之间的依赖性。当在构建一个层次化的系统时,也可以同过使用Facade模式定义系统中每一层的入口,从而简化层与层之 间的依赖关系。其简单实现如下图所示(左边是没有使用Facade模式示意图):2.测试systemA.javapackage facade;/* 阅读全文
摘要:
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式可以使客户端将单纯元素与复合元素同等看待。合成模式:安全式和透明式合成模式1,安全式合成模式抽象构件角色:这是一个抽象角色,它给参加组合的对象规定一个接口树叶构件角色:代表参加组合的树叶对象,一个树叶没有下级的子对象,定义参加组合的原始对象的行为树枝构件角色:代表参加组合的有子对象的对象,并给出树枝构件对象的行为1.packagejavaPattern.composite;2.3.impor 阅读全文
摘要:
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象当降低了系统的耦合度,但是又要维持对象之间行动的协调一致,那么可以采用观察者模式观察者模式结果抽象主题角色:把所有对观察者对象的引用保存在一个聚集里,每个主题都可以有任何数量的观察者。抽象观察者角色:为所有的具体观察者定义一个接口,在得到主题的通知时更新自己。具体主题角色:将有关状态存入具体观察者对象,在具体主题的内部状态改变时,给所有登记过的观察者发出通知。具体观察者角色:存储与主 阅读全文
摘要:
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 访问者模式的目的是封装一些施加于某种数据结构元素之上的操作,一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。访问者模式结构:抽象访问者角色:声明了一个或者多个访问操作,形成所有的具体元素角色必须实现的接口具体访问者角色:实现抽象访问者角色所声明的接口,也就是抽象访问者所声明的各个访问操作抽象节点角色:声明一个接受操作,接受一个访问者对象作为一个参量具体节点角色:实现了抽象元素所规定的接受操作结构对象角色:可以遍历结构中的所有元素,提供一个高层 阅读全文
摘要:
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 迭代器模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象迭代器模式结构:抽象迭代子角色:此抽象角色定义出遍历元素所需的接口具体迭代子角色:实现抽象迭代器接口,并保持迭代过程中的游标位置抽象聚集角色:此抽象角色给出创建迭代子对象的接口具体聚集角色:实现抽象聚集对象的接口,并返回一个合适的具体迭代子实例客户端角色:持有对聚集及其迭代子对象的引用,调用迭代子对象的迭代接口,也有可能通过迭代子操作聚集元素的增加和删除白箱聚集(外禀迭代子)://抽象聚集角色p 阅读全文