北京总部

软件开发培训:为什么要进行面向对象设计?

作者: 来源: 时间: 2017-01-30 22:52:58

   前段时间,小卓曾邀请一位工程师前辈与大家详细交流了什么是面向对象,同学们表示很有收获。

       那么为什么要面向对象设计呢?它有哪些设计原则?今天,我们就这个问题继续深入探讨:



小卓:在编程时,有个很重要的问题,既然我们能够很快地创建几个类,编写程序并提交,为什么我们还要关注面向对象设计

同学:是啊,以前我不知道面向对象设计,我也能开发提交项目。有什么关系?


小卓:好的,先让我给你看一个经典的引述:

"需求不变的程序开发会同行走在冰上一样简单。"

- Edward V. Berard

同学:你是指软件开发说明书会被不断修改


小卓:非常正确!软件开发唯一的真理是“软件必然修改”。为什么?

要知道,你的软件解决的是现实世界中的问题,而现实生活不是一成不变的。

可能你的软件现在运行良好。但它能灵活的支持“变化”吗?如果不能,那它就不是一个敏捷设计的软件。

同学:好,那你就解释一下什么叫做“敏捷设计的软件”!


小卓:“一个敏捷设计的软件能轻松应对变化,能被扩展和复用。”

而应用“面向对象设计”是做到敏捷设计的关键。那么,什么时候你可以说你的程序应用了面向对象设计?

同学:我也正想问呢。


小卓:如果代码符合以下几点,那么你就在“面向对象设计”:

· 面向对象

· 复用

· 变化的代价极小

· 无需改代码即可扩展

同学:然后呢?


小卓:不只我们,很多人也花了很多时间和精力思考这个问题上,他们尝试更好的进行“面向对象设计”,并为“面向对象设计”指出几条基本的原则(你可以用在你的“面向对象设计”中)。他们也确实总结出了一些通用的设计模式(基于基本的原则)。

同学:你能说出一些吗? 


小卓:没问题。现在有许多设计原则,但是最基本的,就是SOLID(缩写),这五项原则。(感谢鲍勃叔叔,伟大OOD导师)。

S  = 单一责任原则

O = 开闭原则

L  = Liscov替换原则

I  = 接口隔离原则

D = 依赖倒置原则


      想了解什么是SOLID?请阅读今天技术知识库第2至第6篇文章,你将会看到许多生动有趣的举例说明,比如鸵鸟不会飞、买电视机、穿衣服……让你轻松了解面向对象的基本原则!


出处:开源中国

译者:K6F, 凡程子, 叫我蝴蝶吧, 王薇, 人头马没面, 铂金小龟, 风子, nikeff1108, sigai

链接:http://www.oschina.net/translate/how-i-explained-ood-to-my-wife?lang=chs&page=4#

了解更多软件开发知识欢迎访问中软国际教育集团技术知识库

相关阅读

更多

中软卓越java培训地址:北京市海淀区科学院南路2号融科资讯中心C座北楼12层 联系电话:400-666-3775 邮箱账号:etc-marketing@chinasofti.com

©2008-2016 北京中软国际教育科技股份有限公司 京ICP备14058756号-2