- 浏览: 193732 次
- 性别:
- 来自: 北京
-
最新评论
-
nfsfairytale:
求附件求附件
一种高效的寻路算法 - B*寻路算法 -
wafer1021:
想在服务端运用这种
一种高效的寻路算法 - B*寻路算法 -
zhezhelin:
最新代码有吗
一种高效的寻路算法 - B*寻路算法 -
zyh2018:
你好!很开心看到你写的B*算法,但是C++版本的代码看起来很吃 ...
一种高效的寻路算法 - B*寻路算法 -
asuralove:
学习了~~~~
一种高效的寻路算法 - B*寻路算法
我的论坛
xly_971223 写道hyhongyong 写道看完这本,再看《重构与模式》,会有更深的理解。
《重构与模式》翻译的太烂了 读着太累
我也同感,《重构与模式》前面(大概三章吧)感觉很不错,阐述了模式和重构的关系,以及模式的重构导向实现方式,这一思想是我对这本书最大的收获。后面部分我也实在没能耐下心来仔细看了,感觉有些冗赘,不过内容想来应该不错,应该详细而具体的描述了"通过重构趋向、实现和去除模式"个各种案例,找时间希望能按下心来再看
lzmhehe 写道书中说了一个哑类 也就是只有getter setter 的类
含有bad small
但是我们使用的pojo 不是很 ...
- 2007-04-15 17:28:07
- 浏览 29549
- 评论(42)
lane_cn 写道可维护性就是重用性,软件的第一个维护者是开发者本人。
可维护性依靠扩展性,扩展性来自对变化的适应力,而不是对变化的预先判断。
开发迅速,节约成本,高效灵活,结构清晰……这些好的特征在软件上经常是同时存在,同时消失。
我有两点补充:
第一,可维护性和可重用性并不相同
第二,某些好的特征是相互竞争的,需要根据需要加以平衡,比如易用性和灵活性,简单性和扩展性等
- 2007-04-12 21:31:03
- 浏览 5896
- 评论(7)
xly_971223 写道那么可重用行跟可维护性之间有什么关系呢?是不是复用度高的的软件可维护性就高呢?
复用度高的程序--->内聚性强--->可维护性高
复用性高的程序其内聚性一定强,内聚性强的程序则更容易维护
对于可重用性和可维护性之间的关系,我也一直琢磨不定,到底是应该把这两者放到一个层次,还是把可维护性作为可重用性自身的一个连带属性,起初我也和xly_971223以及jamesby具有相同的看法——重构是软件设计的终极目标,但是《重构-改善既有代码的设计》第13章Wiliam的经历让我提升了可维护性的重要性,对于较大的项目以及版本需要不断升级的产品,可维护性就变得相当重要。 ...
- 2007-04-05 11:05:34
- 浏览 5896
- 评论(7)
因为已突破原帖子主题“对结构型设计模式的理解”本身含义,所以转移出来
jamesby 写道qinysong 写道jamesby 写道qinysong 写道jamesby 写道
我觉得降低偶合,也就是解偶是关键,底偶合高内聚,高扩展,高复用是软件设计的目标。
我觉得“底偶合高内聚”应该在设计原则层次,通过原则指导利于达到设计目标——“高扩展,高复用”我觉得设计原则应该是
面向接口和抽象编程
优先使用组成而不是继承,也就是HAS A OR IS A 等等,
而遵守设计原则的软件就是高内聚底偶合的设计,也就是高扩展,高复用的设计!
我认为高扩展,高复用是终极目标,但是达到了高内聚底偶合的目标也就 ...
- 2007-04-04 15:43:26
- 浏览 5896
- 评论(7)
上面这些讨论已经突破了题目话题本身,我把它单独列出去http://www.iteye.com/topic/67885
- 2007-04-04 15:34:48
- 浏览 13971
- 评论(16)
jamesby 写道
是不是也可以这样理解,软件的终极目标,就是复用。
可复用的软件一定是可扩展的,可扩展的一定具有高内聚、底偶合的特点。
而软件设计原则是达到这个目标的通道。设计模式是这个终极目标的表现方式。
我觉得软件设计有两个大的目标:
第一个:可重用性。可重用性通过复用之前的劳动成果提高了生产效率,降低了成本;
第二个:可维护性。可维护性通过延长系统的使用寿命,增值了产品价值;
要想设计达到这两个目标,系统就需要有一些特性
包括可读性、高灵活性、易扩展性、通用性、可移植性,这些特性是一个系统表现出来的,可概括为“白箱特性”:),而系统内部也要有一些属性,如高内聚、低耦合,这些内部属 ...
- 2007-04-04 15:30:54
- 浏览 13971
- 评论(16)
jamesby 写道qinysong 写道jamesby 写道
我觉得降低偶合,也就是解偶是关键,底偶合高内聚,高扩展,高复用是软件设计的目标。
我觉得“底偶合高内聚”应该在设计原则层次,通过原则指导利于达到设计目标——“高扩展,高复用”我觉得设计原则应该是
面向接口和抽象编程
优先使用组成而不是继承,也就是HAS A OR IS A 等等,
而遵守设计原则的软件就是高内聚底偶合的设计,也就是高扩展,高复用的设计!
我认为高扩展,高复用是终极目标,但是达到了高内聚底偶合的目标也就达到了高扩展,高复用的目标.
嗯,非常好,这样的讨论非常促进我的认识
我想再引入一个词——属性,一个好的软 ...
- 2007-04-04 09:53:30
- 浏览 13971
- 评论(16)
jamesby 写道
我觉得降低偶合,也就是解偶是关键,底偶合高内聚,高扩展,高复用是软件设计的目标。
我觉得“底偶合高内聚”应该在设计原则层次,通过原则指导利于达到设计目标——“高扩展,高复用”
- 2007-04-04 08:20:48
- 浏览 13971
- 评论(16)
shenhai 写道希望能结合一个简单的实例进行讲解,不然的感觉太抽象了
因为模式较多,所以在没有一定场景的情况下结合简单实例就可能会显得无的放矢,所以可以先看一些设计模式的书籍,针对每个模式一般都有一些实例进行讲解,过程中如果理解上有什么想法,就比较适合在论坛中进行交流了
- 2007-04-03 16:41:24
- 浏览 13971
- 评论(16)
fangang 写道聚会表达的是一种整体与局部的关系,与关联不同的是,它只能是一个单向的关系,所以我们只能说Eye聚集于Person。在聚集关系中,代表整体的只能是1,但代表局部的可以是1,也可以是多
我的看法和fangang基本一致,只是这一段,我觉得聚合应该是关联的一种特例,是表示整体/部分关系的关联。
ocean 写道这样说行不行呢。假如同时有几种关系存在,就取关系最高的的那种。例如Dependency和Association同时存在的话就只说它们是Association的关系。就像我已经has你的,当然可以use你了。哈哈哈。我觉得这个准则可以说的通。不知各位还有没有其它意见。
Dep ...
- 2007-04-01 13:13:10
- 浏览 9148
- 评论(6)