天天好味道

没钱没权没户口,靠走靠吼靠小狗
随笔 - 68, 文章 - 1, 评论 - 517, 引用 - 5

导航

<2006年4月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

留言簿(12)

随笔分类

随笔档案

文章档案

我的链接

搜索

最新评论

阅读排行榜

评论排行榜

什么样的软件设计是面向对象的?

不讲那些书本上单纯的概念,什么继承封装多态.
我的问题是,一个软件被设计成什么样子,才算得上是面向对象的呢?
这是我现在有点困惑的一个问题.
我刚入行的时候,认为写Class代替struct就是面向对象, - 这大概属于封装吧.
后来学习了对象封装的一些原则,比如高内聚,低耦合,扇入扇出等.
再后来学习了设计模式,开始在自己的设计中寻找设计模式的影子,或者
尽量地在设计的时候考虑能否使用现成的模式
再后来设计框架,发现多态才是OO的精髓.
现在,我刚刚完成一份概要设计的第一版,却觉得我这个设计里没什么地方
算得上面向对象. 非常奇怪的感受,如果我不能强烈的感觉我的设计是OO的,
我就会觉得不安. 而事实上,我对于OO的理解是不断地在变化的...
大家有没有相同的感受?
我现在有一种感觉,就是软件设计其实遵循的原则都是一样的,比如:

高效率
低耦合
容易扩展
容易在运行时改变行为
使用坚固的,可靠的成功模式
等等.

posted on 2006-04-06 22:47 jzhang 阅读(1300) 评论(5)  编辑 收藏

评论

# 啊,写完这个帖子后,我感觉我有点悟到了....

:P,明天用MindMap好好思考一下! 也许会有大收获!
2006-04-06 22:56 | jzhang

# re: 什么样的软件设计是面向对象的?

等待你思考后贴出的感想。
2006-04-07 09:42 | flyingleaf

# re: 什么样的软件设计是面向对象的?

其实你已经提到了,面向对象的精髓是多态!既然这样,你应该已经有答案了。
其实我们说linux内核是面向对象的(虽然它是由c实现的),不正是因为多态么?
2006-04-17 11:01 | xulion

# re: 什么样的软件设计是面向对象的?

"容易在运行时改变行为"什么意思?
我倒觉得OO的精髓在封装,而不是多态,也就是高内聚!^_^
"坚固的,可靠的成功模式"又指什么呢?是不是固步自封和没有创新性呢?没有一直坚固可靠的模式吧!都是根据实际情况选择最佳设计比较好吧!
不知道你怎么看。
2006-05-17 20:46 | 清风雨

# re: 什么样的软件设计是面向对象的?

视线停留在楼上的楼上那句话上
那句话是:
"面向对象的精髓是多态!"
2006-05-31 15:37 | sjdev
标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]