欢迎来到天天文库
浏览记录
ID:52442836
大小:547.45 KB
页数:19页
时间:2020-03-27
《Java课程设计_文档1_设计模式基础.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、封面JavaJavaJavaJava设计模式2011-6-121第一章设计模式简介1.11.1什么是设计模式每一个设计模式描述一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次一次地使用该方案而不必做重复劳动。2011-6-1221.2设计模式的起源软件领域的设计模式起源于建筑学。1977年,建筑大师Alexander出版了《APatternLanguage:Towns,Building,Construction》一书。受Alexander著作的影响,KentBeck和WardCunningham在1987年举行的一次面向对象的会议上发表了论文:《在面向对
2、象编程中使用模式》。2011-6-1231.3GOF1.3GOF之著作目前,被公认在设计模式领域最具影响力的著作是ErichGamma、RichardHelm、RalphJohnson和JohnVlissides在1994年合作出版的著作:《DesignPatterns:ElementsofReusableObject-OrientedSoftware》(中译本《设计模式:可复用的面向对象软件的基本原理》或《设计模式》),该书被广大喜爱者昵称为GOF(GangofFour)之书,被认为是学习设计模式的必读著作,GOF之书已经被公认为是设计模式领域的奠基之作。2011-6-1241.4
3、1.4学习设计模式的重要性学习设计模式不仅可以使我们使用好这些成功的模式,更重要的是可以使我们更加深刻地理解面向对象的设计思想,非常有利于我们更好地使用面向对象语言解决设计中的问题。2011-6-1251.51.5合理使用模式1.正确使用2.避免教条3.模式挖掘4.避免乱用5.了解反模式2011-6-126第二章面向对象的几个基本原则2.12.1面向抽象原则设计一个类时,不让该类面向具体的类,而是面向抽象类或接口。2011-6-1272.22.2开-闭原则设计应当对扩展开放,对修改关闭。如果您的设计遵守了“开-闭原则”,那么这个设计一定是易维护的,因为在设计中增加新的模块时,不必去修
4、改设计中的核心模块。2011-6-1282.32.3多用组合少用继承原则设计中避开类继承的缺点,充分使用对象组合的优点。2011-6-1292.42.4高内聚-低耦合原则如果类中的方法是一组相关的行为,则称该类是高内聚的,反之称为低内聚的。所谓低耦合就是尽量不要让一个类含有太多的其它类的实例的引用,以避免修改系统的其中一部分会影响到其它部分。2011-6-1210第三章UML类图简介3.13.1类(Class)_1在UML中,使用一个长方形描述一个类的主要构成,将长方形垂直地分为三层。第1层是名字层,类名字是常规字形,表明该类是具体类,类名字是斜体字形,表明该类是抽象类。第2层是变量
5、层,也称属性层,列出类的成员变量及类型,格式是“变量名字:类型”。第3层是方法层,也称操作层,列出类的方法及返回类型,格式是“方法名字(参数列表):类型”。2011-6-12113.13.1类(Class)_2Student名字层变名+量public的字+name:String或前方加#age:int变量层法#-money:doubleprotected的的访问权private的-+setName(String):void限#printMess():void是+getAge():int友好的的-setAge(int):void-getMoney();方法层2011-6-12123.2
6、3.2接口(Interface)_1表示接口的UML图和表示类的UML图类似,使用一个长方形描述一个接口的主要构成,将长方形垂直地分为三层。第1层是名字层,接口的名字必须是斜体字形,而且需要用<>修饰名字,并且该修饰和名字分列在2行。第2层是常量层,列出接口中的常量及类型,格式是“常量名字:类型”。第3层是方法层,也称操作层,列出接口中的方法及返回类型,格式是“方法名字(参数列表):类型”。2011-6-12133.23.2接口(Interface)_2<>Creator名字层常名量字或前方加+MAX:int常量层法的访public的+问权
7、+factoryMethod():Product限是方法层2011-6-12143.33.3泛化关系(Generalization)对于面向对象语言,UML中所说的泛化关系就是指类的继承关系。如果一个类是另一个类的子类,那么UML通过使用一个实线连接两个类的UML图来表示二者之间的继承关系,实线的起始端是子类的UML图,终点端是父类的UML图,但终点端使用一个空心的三角形表示实线的结束。2011-6-12153.43.4关联关系(Association)如
此文档下载收益归作者所有