设计模式中的面向对象原则及其子模式

设计模式中的面向对象原则及其子模式

ID:33934778

大小:193.32 KB

页数:3页

时间:2019-03-02

设计模式中的面向对象原则及其子模式_第1页
设计模式中的面向对象原则及其子模式_第2页
设计模式中的面向对象原则及其子模式_第3页
资源描述:

《设计模式中的面向对象原则及其子模式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第29卷 第9期计 算 机 工 程2003年6月Vol.29№9ComputerEngineeringJune2003·开发研究与设计技术·文章编号:1000—3428(2003)09—0192—03文献标识码:A中图分类号:TP311.5设计模式中的面向对象原则及其子模式王晓庆,曾文英,王明文,丁晖(江西师范大学计算机科学与技术学院,南昌330027)摘要:在[Gamm95]中总结并提出了面向对象软件设计中非常重要的23个设计模式,这些模式尽管形态各异、目的不同,但它们都体现了相同的几个面向对象原则。该文讨

2、论了这些面向对象的原则并对隐含在设计模式中的几个“子模式”进行了分析和总结。关键词:设计模式;;面向对象;;;;复用封装变化接口子模式Object-orientedPrinciplesandSubpatternsinDesignPatternsWANGXiaoqing,ZENGWenying,,WANGMingwenDINGHui(SchoolofComputerScienceandTechnology,JiangxiNormalUniversity,)Nanchang330027【Abstract】[Gam

3、m95]presents23veryimportantdesignpatternsindesignobject-orientedsoftware,thesepatternshavevariousappearancesanddiversedestinations,buttheprinciplesimplicitinthemshowstrikingsimilarity.Thispaperdiscussestheseprinciplesandmakesanalysisandsummaryofthesesubpatt

4、erns.【Keywords】Designpattern;Objected-oriented;Reusable;Encapsulation;Change;Interface;Subpattern软件复用是解决软件危机最根本的途径之一,近年来面存在的类中继承所需要的绝大部分功能,从而几乎无须任何向对象技术的普遍应用使软件的可复用性有了很大的提高,代价就可以获得新的实现。然而,相比实现的复用而言,继然而,随着软件的日益复杂和庞大,人们对软件可复用性的承所拥有的定义具有相同接口的对象族的能力更为重要(通要求也越来越

5、高了,他们希望所使用的软件不仅能满足当前常可以利用抽象类来定义该接口),因为多态依赖于这种能的功能需求,而且还要有足够的灵活性以适应将来的变化。力。只根据抽象类中定义的接口来操纵对象能给我们带来以设计面向对象软件比较困难,设计可复用的面向对象软件就下两个好处:更加困难,而设计模式为我们提供了一条捷径,它把许多优1)客户无须知道他们使用的对象的特定类型,只需对象有客户秀的面向对象软件中一些最重要的设计经验进行了总结并以所期望的接口。标准的形式记录下来,它的提出有助于学习成功的设计并在2)客户无须知道他们使用的对

6、象是用什么类来实现的,他们只更高的抽象层次上理解和讨论面向对象系统的设计,从而大需知道定义接口的抽象类。大提高软件开发的效率和质量。通过研究,发现尽管各个模因此,针对接口编程能够极大地减少子系统实现之间的式形态各异,目标不同,但它们都体现了相同的几个面向对相互依赖关系,增强系统的可复用性。我们应尽可能使系统象原则,由此,进一步发现为数不多的几个“子模式”大是以针对接口的方式书写的,而不是针对实现而书写的。量、反复地出现在各个模式中。我们认为,这些原则和“子(2)优先使用对象组合而不是类继承模式”体现了比设计模

7、式本身更深层、更普适的设计思想,面向对象系统中功能复用的两种最常用技术是类继承和不仅有助于更好地理解现有的设计模式,还能指导我们在软对象组合。类继承允许根据其他类的实现来定义一个类的实件设计实践中不断提出更多有用的设计模式。现,这种通过生成子类的复用亦称为白箱复用。白箱是1封装变化的概念针对可见性而言:在继承方式下,父类的内部细节对子类可见。而对象组合是指通过组装或组合对象来获得新的更复杂设计模式中最重要的思想就是“封装变化的概念”。这的功能,对象组合要求被组合的对象具有定义好的接口,这是绝大多数设计模式的核

8、心理念。对于这句话,可以从两个种复用风格也叫做黑箱复用。因为对象的细节是不可见的,方面来理解:一方面,设计出来的软件应该体现出一定的灵对象表现得就像一个“黑箱”一样。活性,以适应可能的变化;另一方面,又必须把这种灵活性所带来的软件内部的复杂性封装起来,为外界提供一个简单类继承存在一些不足之处。首先,因为继承在编译时刻而稳定的访问接口,这两个方面分别从内部实现和外部接口就定义了,所以无法在运行时刻改变

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。