游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1604|回复: 7

谈设计

[复制链接]

248

主题

2674

帖子

2702

积分

金牌会员

Rank: 6Rank: 6

积分
2702
QQ
发表于 2005-11-4 22:17:00 | 显示全部楼层 |阅读模式

设计模式,源于一种看问题的方法,我猜。

复杂问题首先需要经过分解,然后才逐个击破。分解之后,就是多个部分自身的功能与组合的关系的问题。

如果将问题分的足够细,直到我们可以通过基础技巧可以解决的时候,那么剩下来的问题就是他们如何组合在一起。所以设计的问题,就是研究个组件之间的关系的问题。

类似的,设计模式就是一些组合的关系的范例。

我们的世界,都是由原子组合而成的,世间万物所呈现的复杂性,是由于组合结构的不同。同样的,程序开发,也是一种组合的艺术。

结构是事物复杂性的根本,也就是一件事物看上去复杂,不是因为它是神秘的,不可获知的,而是他的结构的复杂,各组件的千丝万缕的关系。同样我们看看我们那些所谓的大型程序,如果单单挑一小部分出来看,我们发现它所用的技巧并不深奥。一个程序,真正难懂得部分,天才横溢的部分,绝对是很少的。一般如果有这部分,通常已经被载入计算机算法史册里面了。

组件是能够自我完成某样事情的部分。我们可以认为事物都是由足够小的组件组成的,但是往往没有得到重视,所以他们仍然是作为整体,而没有独立出来制作研究。分解的原则,不是一定要不断细分,而是应该衡量他们所处的位置,判断是否应该做成组件。

组件的一个好处是可以替换,就类似我们的汽车零件。为何可以替换,这是因为将它独立出来后,他有了自身明显的规格;他不再是哪一个部分的附属品,所以它必须公开宣称自己的规格,才可能和其他会使用到他的部分进行结合。在程序设计上,就算是独立一人的作品,只要组件被原来越多部分使用,他的规格就会越来越确定。

我们将某一部分做成组件,那么它应该是经常修改的,经常修改也说明它是软件功能的核心,版本升级的方向。逻辑上看,组件是问题的各个主要部分,或说主要对象。

我们看设计模式,他建立的不同结构的一个原则,其实也是将重要部分在结构中突显出来,让他更加容易修改,更加灵活。当然这一切基于事物原本的结构特性,而不存在一种设计模式能够对付所有情况的事情。


0

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
QQ
发表于 2005-11-6 00:36:00 | 显示全部楼层

Re:谈设计

设计模式象上面的好象很概念化啊!

12

主题

70

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2005-11-6 00:54:00 | 显示全部楼层

Re:谈设计

设计模式看到第二章就没看下去了

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-11-6 11:10:00 | 显示全部楼层

Re:谈设计

枫子又在发表某些只有少数人才明白的言论了,汗。。。

248

主题

2674

帖子

2702

积分

金牌会员

Rank: 6Rank: 6

积分
2702
QQ
 楼主| 发表于 2005-11-6 13:45:00 | 显示全部楼层

Re:谈设计

一个聪明人混在一群白痴中间,难道就一定要成为一个白痴,我就是要坚持写天才才能看懂的东西。

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-11-6 19:01:00 | 显示全部楼层

Re:谈设计

切,就是灌水有名嘛。。。。

38

主题

1581

帖子

1614

积分

金牌会员

Rank: 6Rank: 6

积分
1614
QQ
发表于 2005-11-7 13:06:00 | 显示全部楼层

Re:谈设计

我懂了,我天才

248

主题

2674

帖子

2702

积分

金牌会员

Rank: 6Rank: 6

积分
2702
QQ
 楼主| 发表于 2005-11-7 16:01:00 | 显示全部楼层

Re:谈设计

反过来了,首先要是天才,然后才能懂。
而不是懂了,才变成天才。

如果你不是天才,就不要以为自己懂了。天才不是那么好做的,我这篇东西更不是为了给大家做天才的机会。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 13:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表