- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE / NUMPAGES
第28卷第1期
2007年2月
华北水利水电学院学报
JournalofNorthChinaInstituteofWaterConservancyandHydroelectricPower
Vol?28No?1
Feb.2007
文章编号:1002-5634(200701-0063-03
面向对象设计原则和设计模式的应用
张宇,庄晋林
(华北水利水电学院,河南郑州450011
摘要:面向对象设计原则在基于面向对象方法开发软件系统的过程中起着重要的指导作用.它是各种设计模式背后的基本思想原则,遵守设计原则能提高软件的可维护性和可复用性.结合具有代表性的设计模式及应用实例,深入讨论了面向对象设计原则.
关键词:面向对象。设计原则。设计模式
中图分类号:TP132.4文献标识码:A
面向对象设计OOD(ObjectOrientedDesign有
3个最基本的设计原则:①针对接口编程,而不是针对实现编程。②优先使用对象组合,而不是类继承。
③封装变化点.在此基础上可以得出几条具体的设
计原则:开放封闭原则OCP(Open - Close Princi?
ple。Liskov替换原则LSP(LiskovSubstitutionPrinci?
ple。依赖倒置原则DIP(Dependency Invertion Prin?
ciple。接口隔离原则ISP(Interface Separate Princi?
ple.采用这些设计原则可提高系统的可维护性和可复用性.
设计模式是软件开发过程中对重复出现问题的可重用性解决方案[1].
1开放封闭原则OCP
1. 1OCP的定义
符合OCP的模块需满足2个标准: ①可扩展, 即“对扩展开放”.模块的功能可以被扩展,以满足新的需求。②不可更改,即“对更改封闭”. 模块的源代码是不允许进行改动的.开放封闭原则是OOD的真正核心.其他的原则是它的手段和工具,是附属的原则.
1. 2OCP的特点和实现
OCP具有可扩展和不可修改的特点.扩展开放可以使软件系统方便地添加新的功能。修改封闭使
系统已有的模块、特别是重要的抽象层模块不能被
修改.因此,遵守OCP的软件系统能适应不断变化的需求并保持稳定.
要实现OCP需要作到抽象化.一个软件系统要
区分抽象层和实现层,用户只能看到抽象层.用户通过抽象层的接口访问软件系统,该抽象层根据用户请求的具体内容决定使用系统中哪些具体的功能. 当软件需要提供新的功能,只需要在软件中增加新
的模块,而客户端代码和抽象层不需要改变或者只需要作很小的改变.
1. 3OCP在设计模式中的体现
1. 3. 1简单工厂模式简单工厂模式由一个工厂类根据传入的参量决
定创建出哪一种产品类的实例,是类的创建模式,涉
及工厂类、抽象产品类和具体产品类.
例如一个绘图软件,能处理圆形和椭圆形2种几何图形. 首先定义一个“抽象产品”———Shape接口,这些几何图形类都实现这个接口.再定义一个“工厂类”———ShapeCreator,来创建各种“具体产品”———几何图形类的具体实例.系统如图1所示.
当客户端需要某个产品时,需向工厂类请求,然后工厂类自行判断创建哪一个产品.所以,客户端无需修改就可以接纳新的产品。抽象产品Shape接口由于处于抽象层因而十分稳定。工厂类必须知道每
收稿日期:2006-06-10。修订日期:2006-08-20
基金工程:河南省科技攻关工程(0524220064.
作者简介:张宇(1982-,男,河南许昌人,华北水利水电学院在读硕士研究生,主要从事面向对象技术方面的研究.
64华北水利水电学院学报2007年2月
一种产品如何创建,因而加入一个新的产品时必须
修改其代码.
图1简单工厂模式实例
1. 3. 2工厂方法模式
定义一个创建产品对象的工厂接口,将实际创
建工作推迟到子类中,工厂类不再负责所有产品的创建.因此,系统在加入新的产品时就不需要修改抽象工厂类和具体工厂类,只需要增加与新加入产品相应的具体工厂类即可.
将上述绘图软件的例子用工厂方法模式实现,
如图2所示.工厂类ShapeCreator抽象出来作为ShapeCreator接口,具体的创建工作由实现这个接口的类去做.当系统扩充功能添加三角形图形时,只需添加实现Shape接口的三角形新类,同时相应地创建实现ShapeCreator接口的三角形实现类.因此工厂方法模式能够简单方便地实现软件系统功能扩充,并能保持系统的稳定.
图2工厂方法模式实例
2Liskov替换原则LSP
2. 1LSP的定义
使用指向基类(超类的引用函数,必须能够在不知道具体派生类(子类对象类型的情况下使
用[2].换言之,如果用户使用一个基类,那么子类一
定可以替代基类,用户不会察觉到基类对象和子类对象
您可能关注的文档
最近下载
- 医用耗材供货运输及售后服务方案.pdf VIP
- 新标准大学英语(第三版)综合教程3(智慧版)B3U6教师用书.pdf VIP
- 生物-湖北省2024年秋季鄂东南联盟学校高一年级期中联考试题和答案.docx VIP
- 《公路养护工程质量检验评定标准 第一册 土建工程》桥梁工程(每日一练).pdf VIP
- 慢阻肺患者稳定期的自我管理.pptx VIP
- 海洋地震勘探技术2025年应用与技术创新研究报告.docx
- OpenAI Top 40超级客户分析-垂直Agent开发与创业机会.pdf VIP
- 4.2 弧度制(课件)-【中职专用】高一数学(高教版2023修订版基础模块上册).pptx VIP
- 临床护理实践指南2024版.pdf VIP
- 义务教育信息科技课程标准(2022年版).pdf VIP
原创力文档


文档评论(0)