锁定老帖子 主题:学习设计模式的一些常见问题
精华帖 (0) :: 良好帖 (4) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2011-09-05
某些人就说什么客户满意就行,不管模式的,模式就是普通代码等等。
软件产品,最终目的是满足客户(目的),这是没问题的。问题是用什么手段去满足(手段),自由发挥?空想?只需要自己看懂,不需要维护等?以“目的是满足客户”为由,来抨击模式,在我看来就是可笑,模式就是更好去适应客户极其变化,抨击啥呢?牛头不对马嘴。 同样去上班,我坐公交,然后说出坐公交的一些注意问题。然后有人就站出来说,什么公交不公交的,目的是上班。对这我只能表示无语。 -------------废话说多了,正题---------- 模式的意义: 模式在这里就是一种可选择的手段。理解模式的人就知道,其实就是一个约定。想让软件有持久生命力的,约定少不了。当参与过“软件运行周期”远大于“开发维护人员的工作时间”,就会更能感到约定的意义。GOF提出的,则是通常遇见的问题所用到的比较好的模式而已,而且可以根据具体来变种。 模式的创新与使用: 模式时时都是新的,但又时时不新。新的是因为对应不同问题,不新是因为其中稳定的思想。必须掌握模式的思想后,才能够较好地创新。模式不是固定代码,有时甚至连代码都不是,甚至超越计算机领域。捧着GOF模式一书的,是入门;抛开书创新的,是进阶;理解模式无处不在时,就是进阶之后了。到达目的地有走路模式,语言上有主谓模式等等。使用模式就是使用约定。 |
|
返回顶楼 | |
发表时间:2011-09-05
feng2356 写道 客户第一"的话,我们只说给客户听,而不是说给同行听.
和客户说是产品,和同行说是支撑产品的手段,某些人看不懂而已。在论手段时,说产品就觉得可笑。 |
|
返回顶楼 | |
发表时间:2011-09-06
采用接口隔离原则:对不同的人暴露不同的接口,
对客户,老板,项目管理者,需求分析师,系统架构师,开发人员,测试人员,运维人员. 谈论系统架构的时候,涉及到客户的关系,有意思吗?没意思。 模式的定义就是描述问题及问题的解决方案。 模式的定义是一种广义描述,各行各业都有不同的问题,将这些问题及解决方案整理,就可以称为模式。 GOF的设计模式描述绝对是纯面向对象的设计,而且是设计中的好的设计。 简单的说模式就是好的做法。 |
|
返回顶楼 | |
发表时间:2011-09-06
期待楼主有时间谈下“OO的眼光看待问题,解决问题”。
|
|
返回顶楼 | |
发表时间:2011-09-06
taofan911 写道 我是一个比较低俗人
哈哈,一个软件的成功与否,是看这个软件的好评度,客户不会关心你用什么设计模式,用什么技术,他会考虑满足不满足需求。 大家都觉得面向接口编程好,但是也有一些不面向接口编程的案例,所以说没有模式也能做出好的东西,非要把代码起成一个文雅的名字 这么讲就好像说能力重要,学历不重要 但是事实是,学历好的80%能力好,学历不好的80%能力不好 |
|
返回顶楼 | |
发表时间:2011-09-06
H_eaven 写道 期待楼主有时间谈下“OO的眼光看待问题,解决问题”。
看我的书籍,里面从OO角度分析模式,希望以后你看问题不再是套用模式,而是使用OO眼光分析你的问题,这时候,模式已经不重要了。 |
|
返回顶楼 | |
发表时间:2011-09-06
gtssgtss 写道 taofan911 写道 我是一个比较低俗人
哈哈,一个软件的成功与否,是看这个软件的好评度,客户不会关心你用什么设计模式,用什么技术,他会考虑满足不满足需求。 大家都觉得面向接口编程好,但是也有一些不面向接口编程的案例,所以说没有模式也能做出好的东西,非要把代码起成一个文雅的名字 这么讲就好像说能力重要,学历不重要 但是事实是,学历好的80%能力好,学历不好的80%能力不好 客户不是写软件的,是用软件的。这种问题没必要持续讨论。 |
|
返回顶楼 | |
发表时间:2011-09-06
目标很重要,手段更重要!
|
|
返回顶楼 | |
发表时间:2011-09-06
taofan911 写道 我是一个比较低俗人
哈哈,一个软件的成功与否,是看这个软件的好评度,客户不会关心你用什么设计模式,用什么技术,他会考虑满足不满足需求。 大家都觉得面向接口编程好,但是也有一些不面向接口编程的案例,所以说没有模式也能做出好的东西,非要把代码起成一个文雅的名字 没有高质量的代码就很难维护,出了问题怎么解决?并且很可能有2期,3期。。。。不可能完成一个软件就不管了。要易维护性,易扩展。 |
|
返回顶楼 | |
发表时间:2011-09-30
上面说的,真是我想了解的。。个人觉得所谓的是:模式是前人解决问题的一个经验之谈,经过各方面的探讨,慢慢变成经典。。要学习这些思想,既要有理论学习,同样也要有大量的实践经验。。两者结合才能变成LZ说的:
于是紧接着,在后来的一个软件开发中,我开始从问题本质入手,“忘却”模式,为问题提取模型,等设计开发完成之后,发现,我已经自然而然的使用了组合(Composite)模式和解释器(Interpreter)等模式。至此,我才意识到使用OO眼光分析问题的重要性,所以,这本书籍并不是单纯介绍模式的书籍,而是和大家一起探讨OOP,分析OOP给编程带来的好处,希望阅读完本书的人都能开始使用OO的眼光分析问题。 |
|
返回顶楼 | |