欢迎来到天天文库
浏览记录
ID:20874511
大小:5.42 MB
页数:265页
时间:2018-10-17
《java设计模式ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java设计模式Java设计模式Java设计模式2021/10/221第一章设计模式简介1.1什么是设计模式Java设计模式Java设计模式2021/10/222每一个设计模式描述一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次一次地使用该方案而不必做重复劳动。1.2设计模式的起源Java设计模式Java设计模式2021/10/223软件领域的设计模式起源于建筑学。1977年,建筑大师Alexander出版了《APatternLanguage:Towns,Building,Construction
2、》一书。受Alexander著作的影响,KentBeck和WardCunningham在1987年举行的一次面向对象的会议上发表了论文:《在面向对象编程中使用模式》。1.3GOF之著作Java设计模式Java设计模式2021/10/224目前,被公认在设计模式领域最具影响力的著作是ErichGamma、RichardHelm、RalphJohnson和JohnVlissides在1994年合作出版的著作:《DesignPatterns:ElementsofReusableObject-OrientedSoftware》(中译本
3、《设计模式:可复用的面向对象软件的基本原理》或《设计模式》),该书被广大喜爱者昵称为GOF(GangofFour)之书,被认为是学习设计模式的必读著作,GOF之书已经被公认为是设计模式领域的奠基之作。1.4学习设计模式的重要性Java设计模式Java设计模式2021/10/225学习设计模式不仅可以使我们使用好这些成功的模式,更重要的是可以使我们更加深刻地理解面向对象的设计思想,非常有利于我们更好地使用面向对象语言解决设计中的问题。1.5合理使用模式Java设计模式Java设计模式2021/10/2261.正确使用2.避免教条
4、3.模式挖掘4.避免乱用5.了解反模式第二章面向对象的几个基本原则2.1面向抽象原则Java设计模式Java设计模式2021/10/227设计一个类时,不让该类面向具体的类,而是面向抽象类或接口。2.2开-闭原则Java设计模式Java设计模式2021/10/228设计应当对扩展开放,对修改关闭。如果您的设计遵守了“开-闭原则”,那么这个设计一定是易维护的,因为在设计中增加新的模块时,不必去修改设计中的核心模块。2.3多用组合少用继承原则Java设计模式Java设计模式2021/10/229设计中避开类继承的缺点,充分使用对象
5、组合的优点。2.4高内聚-低耦合原则Java设计模式Java设计模式2021/10/2210如果类中的方法是一组相关的行为,则称该类是高内聚的,反之称为低内聚的。所谓低耦合就是尽量不要让一个类含有太多的其它类的实例的引用,以避免修改系统的其中一部分会影响到其它部分。第三章UML类图简介3.1类(Class)_1Java设计模式Java设计模式2021/10/2211在UML中,使用一个长方形描述一个类的主要构成,将长方形垂直地分为三层。第1层是名字层,类名字是常规字形,表明该类是具体类,类名字是斜体字形,表明该类是抽象类。第2
6、层是变量层,也称属性层,列出类的成员变量及类型,格式是“变量名字:类型”。第3层是方法层,也称操作层,列出类的方法及返回类型,格式是“方法名字(参数列表):类型”。3.1类(Class)_2Java设计模式Java设计模式2021/10/2212Student+name:String#age:int-money:double+setName(String):void#printMess():void+getAge():intsetAge(int):void-getMoney();名字层变量层方法层+#--protected的p
7、rivate的友好的的public的变量或方法的访问权限是名字前加3.2接口(Interface)_1Java设计模式Java设计模式2021/10/2213表示接口的UML图和表示类的UML图类似,使用一个长方形描述一个接口的主要构成,将长方形垂直地分为三层。第1层是名字层,接口的名字必须是斜体字形,而且需要用<>修饰名字,并且该修饰和名字分列在2行。第2层是常量层,列出接口中的常量及类型,格式是“常量名字:类型”。第3层是方法层,也称操作层,列出接口中的方法及返回类型,格式是“方法名字(参数列表):类
8、型”。3.2接口(Interface)_2Java设计模式Java设计模式2021/10/2214<>Creator+MAX:int+factoryMethod():Product名字层常量层方法层+public的常量或方法的访问权限是名字前加3.3泛化
此文档下载收益归作者所有