- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《面向对象设计原则和设计模式的应用
第 28卷第 1期
2007年 2月
华 北 水 利 水 电 学 院 学 报
Jou rna l of No rth Ch ina In stitu te of W a te r Con se rvancy and H yd roe lec tric Powe r
Vo l?28 No?1
Feb. 2007
文章编号 : 1002 - 5634 ( 2007 ) 01 - 0063 - 03
面向对象设计原则和设计模式的应用
张 宇 , 庄晋林
(华北水利水电学院 ,河南 郑州 450011)
摘 要 :面向对象设计原则在基于面向对象方法开发软件系统的过程中起着重要的指导作用. 它是各种设计 模式背后的基本思想原则 ,遵守设计原则能提高软件的可维护性和可复用性. 结合具有代表性的设计模式及 应用实例 ,深入讨论了面向对象设计原则.
关 键 词 :面向对象 ;设计原则 ;设计模式
中图分类号 : TP132. 4 文献标识码 : A
面向对象设计 OOD (O b jec t O rien ted D e sign )有
3 个最基本的设计原则 : ①针对接口编程 ,而不是针 对实现编程 ; ②优先使用对象组合 ,而不是类继承 ;
③封装变化点. 在此基础上可以得出几条具体的设
计原 则 : 开 放 封 闭 原 则 OCP ( Op en - C lo se P rinc i?
p le) ; L iskov替换原则 L SP (L iskov Sub stitu tion P rinc i?
p le) ; 依赖倒置原则 D IP (D ep endency Inve rtion P rin?
c ip le) ;接口隔离原则 ISP ( In te rface Sep a ra te P rinc i?
p le) . 采用这些设计原则可提高系统的可维护性和 可复用性.
设计模式是软件开发过程中对重复出现问题的 可重用性解决方案 [ 1 ] .
1 开放封闭原则 OCP
1. 1 O C P的定义
符合 OCP的模块需满足 2 个标准 : ①可扩展 , 即“对扩展开放 ”. 模块的功能可以被扩展 , 以满足 新的需求 ; ②不可更改 ,即“对更改封闭 ”. 模块的源 代码是不允许进行改动的. 开放封闭原则是 OOD 的 真正核心. 其他的原则是它的手段和工具 ,是附属的 原则.
1. 2 O C P的特点和实现
OCP具有可扩展和不可修改的特点. 扩展开放 可以使软件系统方便地添加新的功能 ; 修改封闭使
系统已有的模块 、特别是重要的抽象层模块不能被
修改. 因此 ,遵守 OCP 的软件系统能适应不断变化 的需求并保持稳定.
要实现 OCP需要作到抽象化. 一个软件系统要
区分抽象层和实现层 ,用户只能看到抽象层. 用户通 过抽象层的接口访问软件系统 ,该抽象层根据用户 请求的具体内容决定使用系统中哪些具体的功能. 当软件需要提供新的功能 ,只需要在软件中增加新
的模块 ,而客户端代码和抽象层不需要改变或者只 需要作很小的改变.
1. 3 O C P在设计模式中的体现
1. 3. 1 简单工厂模式 简单工厂模式由一个工厂类根据传入的参量决
定创建出哪一种产品类的实例 ,是类的创建模式 ,涉
及工厂类 、抽象产品类和具体产品类.
例如一个绘图软件 ,能处理圆形和椭圆形 2 种 几何图形. 首先定义一个“抽象产品 ”———Shap e 接 口 ,这些几何图形类都实现这个接口. 再定义一个 “工厂 类 ”———Shap eC rea to r, 来 创 建 各 种“具 体 产 品 ”———几何图形类的具体实例. 系统如图 1所示.
当客户端需要某个产品时 ,需向工厂类请求 ,然 后工厂类自行判断创建哪一个产品. 所以 ,客户端无 需修改就可以接纳新的产品 ; 抽象产品 Shap e 接口 由于处于抽象层因而十分稳定 ; 工厂类必须知道每
收稿日期 : 2006 - 06 - 10;修订日期 : 2006 - 08 - 20
基金项目 :河南省科技攻关项目 ( 0524220064) .
作者简介 :张 宇 ( 1982 - ) ,男 ,河南许昌人 ,华北水利水电学院在读硕士研究生 ,主要从事面向对象技术方面的研究.
64 华 北 水 利 水 电 学 院 学 报 2007年 2月
一种产品如何创建 ,因而加入一个新的产品时必须
修改其代码.
图 1 简单工厂模式实例
1. 3. 2 工厂方法模式
定义一
文档评论(0)