Java课程设计_文档1_设计模式基础.pdf

上传人:asd****56 文档编号:69684028 上传时间:2023-01-07 格式:PDF 页数:19 大小:547.45KB
返回 下载 相关 举报
Java课程设计_文档1_设计模式基础.pdf_第1页
第1页 / 共19页
Java课程设计_文档1_设计模式基础.pdf_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《Java课程设计_文档1_设计模式基础.pdf》由会员分享,可在线阅读,更多相关《Java课程设计_文档1_设计模式基础.pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、封面JavaJavaJavaJava设计模式设计模式 2011-6-121第一章第一章 设计模式简介设计模式简介 1.1 1.1 1.1 1.1 什么是设计模式什么是设计模式 2011-6-122 每一个设计模式描述一个在我们周围不每一个设计模式描述一个在我们周围不断重复发生的问题,以及该问题的解决断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次一次地方案的核心。这样,你就能一次一次地使用该方案而不必做重复劳动。使用该方案而不必做重复劳动。1.2 1.2 1.2 1.2 设计模式的起源设计模式的起源 2011-6-123 软件领域的设计模式软件领域的设计模式起源于建筑学起源于建筑

2、学。1977197719771977年,建筑大师年,建筑大师AlexanderAlexanderAlexanderAlexander出版了出版了A Pattern A Pattern A Pattern A Pattern LanguageLanguageLanguageLanguage:Towns,Building,ConstructionTowns,Building,ConstructionTowns,Building,ConstructionTowns,Building,Construction一书。受一书。受AlexanderAlexanderAlexanderAlexander著作的

3、影响著作的影响 ,Kent BeckKent BeckKent BeckKent Beck和和Ward Ward Ward Ward CunninghamCunninghamCunninghamCunningham在在1987198719871987年举行的一次面向对象的会议上年举行的一次面向对象的会议上发表了论文:发表了论文:在面向对象编程中使用模式在面向对象编程中使用模式。1.3 GOF1.3 GOF1.3 GOF1.3 GOF之著作之著作 2011-6-124 目前,被公认在设计模式领域最具影响力的著作是目前,被公认在设计模式领域最具影响力的著作是Erich GammaErich Gam

4、maErich GammaErich Gamma、Richard Richard Richard Richard HelmHelmHelmHelm、Ralph JohnsonRalph JohnsonRalph JohnsonRalph Johnson和和John VlissidesJohn VlissidesJohn VlissidesJohn Vlissides在在1994199419941994年合作出版的著作:年合作出版的著作:Design Design Design Design PatternsPatternsPatternsPatterns:Elements of Reusabl

5、e Object-Oriented SoftwareElements of Reusable Object-Oriented SoftwareElements of Reusable Object-Oriented SoftwareElements of Reusable Object-Oriented Software(中译本(中译本设计模式:设计模式:设计模式:设计模式:可复用的面向对象软件的基本原理可复用的面向对象软件的基本原理可复用的面向对象软件的基本原理可复用的面向对象软件的基本原理 或或设计模式设计模式),该书被广大喜爱者昵),该书被广大喜爱者昵称为称为GOFGOFGOFGOF(G

6、ang of FourGang of FourGang of FourGang of Four)之书,被认为是学习设计模式的必读著作,)之书,被认为是学习设计模式的必读著作,GOFGOFGOFGOF之书之书已经被公认为是设计模式领域的奠基之作。已经被公认为是设计模式领域的奠基之作。1.4 1.4 1.4 1.4 学习设计模式的重要性学习设计模式的重要性 2011-6-125 学习设计模式不仅可以使我们使用好这些学习设计模式不仅可以使我们使用好这些成功的模式,更重要的是可以使我们更加深成功的模式,更重要的是可以使我们更加深刻地理解面向对象的设计思想,非常有利于刻地理解面向对象的设计思想,非常有利

7、于我们更好地使用面向对象语言解决设计中的我们更好地使用面向对象语言解决设计中的问题。问题。1.5 1.5 1.5 1.5 合理使用模式合理使用模式 2011-6-126 1 1 1 1正确使用正确使用 2 2 2 2避免教条避免教条 3 3 3 3模式挖掘模式挖掘 4 4 4 4 避免乱用避免乱用 5 5 5 5了解反模式了解反模式 第二章第二章 面向对象的几个基本原则面向对象的几个基本原则 2.1 2.1 2.1 2.1 面向抽象原则面向抽象原则 2011-6-127 设计一个类时,不让该类面向具体的设计一个类时,不让该类面向具体的类,而是面向抽象类或接口类,而是面向抽象类或接口 。2.2

8、2.2 2.2 2.2 开开-闭原则闭原则 2011-6-128 设计应当对扩展开放,对修改关闭。设计应当对扩展开放,对修改关闭。如果您的设计遵守了如果您的设计遵守了“开开-闭原则闭原则”,那么这,那么这个设计一定是易维护的,因为在设计中增加个设计一定是易维护的,因为在设计中增加新的模块时,不必去修改设计中的核心模块。新的模块时,不必去修改设计中的核心模块。2.3 2.3 2.3 2.3 多用组合少用继承原则多用组合少用继承原则 2011-6-129 设计中避开类继承的缺点,充分使用对设计中避开类继承的缺点,充分使用对象组合的优点。象组合的优点。2.4 2.4 2.4 2.4 高内聚高内聚-低

9、耦合原则低耦合原则 2011-6-1210 如果类中的方法是一组相关的行为,则如果类中的方法是一组相关的行为,则称该类是称该类是高内聚高内聚的,反之称为低内聚的。的,反之称为低内聚的。所谓所谓低耦合低耦合就是尽量不要让一个类含有太就是尽量不要让一个类含有太多的其它类的实例的引用,以避免修改系多的其它类的实例的引用,以避免修改系统的其中一部分会影响到其它部分。统的其中一部分会影响到其它部分。第三章第三章 UMLUML类图简介类图简介 3.1 3.1 3.1 3.1 类类(Class)_1(Class)_1 2011-6-1211 在在UMLUMLUMLUML中,使用一个长方形描述一个类的主要构成

10、,将长方形垂直地分为三层中,使用一个长方形描述一个类的主要构成,将长方形垂直地分为三层 。第第1 1 1 1层层是名字层,类名字是常规字形,表明该类是具体类,类名字是斜体字形,是名字层,类名字是常规字形,表明该类是具体类,类名字是斜体字形,表明该类是抽象类。表明该类是抽象类。第第2 2 2 2层层是变量层,也称属性层,列出类的成员变量及类型,格式是是变量层,也称属性层,列出类的成员变量及类型,格式是“变量名字:变量名字:类型类型”。第第3 3 3 3层层是方法层,也称操作层,列出类的方法及返回类型,格式是是方法层,也称操作层,列出类的方法及返回类型,格式是“方法名字(参方法名字(参数列表):类

11、型数列表):类型”。3.1 3.1 3.1 3.1 类类(Class)_2(Class)_2 2011-6-1212StudentStudentStudentStudent+name:String+name:String+name:String+name:String#age:int#age:int#age:int#age:int-money:double-money:double-money:double-money:double+setName(String):void+setName(String):void+setName(String):void+setName(String):vo

12、id#printMess():void#printMess():void#printMess():void#printMess():void+getAge():int+getAge():int+getAge():int+getAge():intsetAge(int):voidsetAge(int):voidsetAge(int):voidsetAge(int):void-getMoney();-getMoney();-getMoney();-getMoney();名字层名字层 变量层变量层 方法层方法层+#-protectedprotectedprotectedprotected的的priva

13、teprivateprivateprivate的的友好的友好的的的publicpublicpublicpublic的的变量变量或或方法方法的访问权限是的访问权限是名字名字前加前加3.2 3.2 3.2 3.2 接口(接口(InterfaceInterface)_1 _1 2011-6-1213 表示接口的表示接口的UMLUMLUMLUML图和表示类的图和表示类的UMLUMLUMLUML图类似,使用一个长方形描述一个接口的主要图类似,使用一个长方形描述一个接口的主要构成,将长方形垂直地分为三层构成,将长方形垂直地分为三层 。第第1 1 1 1层层是名字层,接口的名字必须是斜体字形,而且需要用是名

14、字层,接口的名字必须是斜体字形,而且需要用修饰名修饰名字,并且该修饰和名字分列在字,并且该修饰和名字分列在2 2 2 2行。行。第第2 2 2 2层层是常量层,列出接口中的常量及类型,格式是是常量层,列出接口中的常量及类型,格式是“常量名字:类型常量名字:类型”。第第3 3 3 3层层是方法层,也称操作层,列出接口中的方法及返回类型,格式是是方法层,也称操作层,列出接口中的方法及返回类型,格式是“方法名方法名字(参数列表):类型字(参数列表):类型”。3.2 3.2 3.2 3.2 接口(接口(Interface)_2 Interface)_2 2011-6-1214CreatorCreato

15、rCreatorCreator+MAX:int+MAX:int+MAX:int+MAX:int+factoryMethod():Product+factoryMethod():Product+factoryMethod():Product+factoryMethod():Product 名字层名字层 常量层常量层 方法层方法层+publicpublicpublicpublic的的常量常量或或方法方法的访问权限是的访问权限是名字名字前加前加3.3 3.3 3.3 3.3 泛化关系(泛化关系(GeneralizationGeneralization)2011-6-1215 对于面向对象语言,对于面

16、向对象语言,UMLUMLUMLUML中所说的中所说的泛化泛化关系就是指类的继承关系关系就是指类的继承关系。如果一个类。如果一个类是另一个类的子类,那么是另一个类的子类,那么UMLUMLUMLUML通过使用通过使用一个实线连接两个类的一个实线连接两个类的UMLUMLUMLUML图来表示二图来表示二者之间的继承关系,实线的起始端是子者之间的继承关系,实线的起始端是子类的类的UMLUMLUMLUML图,终点端是父类的图,终点端是父类的UMLUMLUMLUML图,图,但终点端使用一个空心的三角形表示实但终点端使用一个空心的三角形表示实线的结束线的结束 。3.4 3.4 3.4 3.4 关联关系(关联关

17、系(AssociationAssociation)2011-6-1216 如果如果A A A A类中成员变量是用类中成员变量是用B B B B类(接口)来声明的变量,那么类(接口)来声明的变量,那么A A A A和和B B B B的关系是关的关系是关联关系,称联关系,称A A A A关联于关联于B B B B。那么。那么UMLUMLUMLUML通过使用一个实线连通过使用一个实线连A A A A和和B B B B的的UMLUMLUMLUML图,实线的图,实线的起始端是起始端是A A A A的的UMLUMLUMLUML图,终点端是图,终点端是B B B B的的UMLUMLUMLUML图,但终点端使

18、用一个指向图,但终点端使用一个指向B B B B的的UMLUMLUMLUML图图的方向箭头表示实线的结束的方向箭头表示实线的结束 。3.5 3.5 3.5 3.5 依赖关系(依赖关系(DependencyDependency)2011-6-1217 如果如果A A A A类中某个方法的参数用类中某个方法的参数用B B B B类(接口)来声明的变量或某个方法返回的数类(接口)来声明的变量或某个方法返回的数据类型是据类型是B B B B类型的,那么类型的,那么A A A A和和B B B B的关系是依赖关系,称的关系是依赖关系,称A A A A依赖于依赖于B B B B。那么那么UMLUMLUML

19、UML通过通过使用一个虚线连使用一个虚线连A A A A和和B B B B的的UMLUMLUMLUML图,虚线的起始端是图,虚线的起始端是A A A A的的UMLUMLUMLUML图,终点端是图,终点端是B B B B的的UMLUMLUMLUML图,但终点端使用一个指向图,但终点端使用一个指向B B B B的的UMLUMLUMLUML图的方向箭头表示虚线的结束。图的方向箭头表示虚线的结束。3.6 3.6 3.6 3.6 实现关系(实现关系(RealizationRealization)2011-6-1218 如果一个类实现了一个接口,那么如果一个类实现了一个接口,那么类和接口的关系是实现关系,

20、称类实类和接口的关系是实现关系,称类实现接口。现接口。UMLUMLUMLUML通过使用虚线连接类和通过使用虚线连接类和它所实现的接口,虚线起始端是类,它所实现的接口,虚线起始端是类,虚线的终点端是它实现的接口,但终虚线的终点端是它实现的接口,但终点端使用一个空心的三角形表示虚线点端使用一个空心的三角形表示虚线的结束的结束 。3.7 3.7 3.7 3.7 注释(注释(AnnotationAnnotation)2011-6-1219 UML UML UML UML使用注释为类图提供附加的说明。使用注释为类图提供附加的说明。UMLUMLUMLUML在一个带卷角的长方形中显示给出的在一个带卷角的长方形中显示给出的注释,并使用虚线将这个带卷角的长方形和所它所注释的实体连接起来注释,并使用虚线将这个带卷角的长方形和所它所注释的实体连接起来 。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 财经金融

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁