论坛首页 Java企业应用论坛

学习设计模式的一些常见问题

浏览 19722 次
精华帖 (0) :: 良好帖 (4) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2011-09-05  
某些人就说什么客户满意就行,不管模式的,模式就是普通代码等等。

软件产品,最终目的是满足客户(目的),这是没问题的。问题是用什么手段去满足(手段),自由发挥?空想?只需要自己看懂,不需要维护等?以“目的是满足客户”为由,来抨击模式,在我看来就是可笑,模式就是更好去适应客户极其变化,抨击啥呢?牛头不对马嘴。

同样去上班,我坐公交,然后说出坐公交的一些注意问题。然后有人就站出来说,什么公交不公交的,目的是上班。对这我只能表示无语。

-------------废话说多了,正题----------

模式的意义:
模式在这里就是一种可选择的手段。理解模式的人就知道,其实就是一个约定。想让软件有持久生命力的,约定少不了。当参与过“软件运行周期”远大于“开发维护人员的工作时间”,就会更能感到约定的意义。GOF提出的,则是通常遇见的问题所用到的比较好的模式而已,而且可以根据具体来变种。

模式的创新与使用:
模式时时都是新的,但又时时不新。新的是因为对应不同问题,不新是因为其中稳定的思想。必须掌握模式的思想后,才能够较好地创新。模式不是固定代码,有时甚至连代码都不是,甚至超越计算机领域。捧着GOF模式一书的,是入门;抛开书创新的,是进阶;理解模式无处不在时,就是进阶之后了。到达目的地有走路模式,语言上有主谓模式等等。使用模式就是使用约定。
0 请登录后投票
   发表时间:2011-09-05  
feng2356 写道
客户第一"的话,我们只说给客户听,而不是说给同行听.



和客户说是产品,和同行说是支撑产品的手段,某些人看不懂而已。在论手段时,说产品就觉得可笑。
0 请登录后投票
   发表时间:2011-09-06  
采用接口隔离原则:对不同的人暴露不同的接口,
对客户,老板,项目管理者,需求分析师,系统架构师,开发人员,测试人员,运维人员.
谈论系统架构的时候,涉及到客户的关系,有意思吗?没意思。

模式的定义就是描述问题及问题的解决方案。
模式的定义是一种广义描述,各行各业都有不同的问题,将这些问题及解决方案整理,就可以称为模式。
GOF的设计模式描述绝对是纯面向对象的设计,而且是设计中的好的设计。

简单的说模式就是好的做法。
0 请登录后投票
   发表时间:2011-09-06  
期待楼主有时间谈下“OO的眼光看待问题,解决问题”。
0 请登录后投票
   发表时间:2011-09-06  
taofan911 写道
我是一个比较低俗人
哈哈,一个软件的成功与否,是看这个软件的好评度,客户不会关心你用什么设计模式,用什么技术,他会考虑满足不满足需求。
大家都觉得面向接口编程好,但是也有一些不面向接口编程的案例,所以说没有模式也能做出好的东西,非要把代码起成一个文雅的名字


这么讲就好像说能力重要,学历不重要
但是事实是,学历好的80%能力好,学历不好的80%能力不好
0 请登录后投票
   发表时间:2011-09-06  
H_eaven 写道
期待楼主有时间谈下“OO的眼光看待问题,解决问题”。

看我的书籍,里面从OO角度分析模式,希望以后你看问题不再是套用模式,而是使用OO眼光分析你的问题,这时候,模式已经不重要了。
0 请登录后投票
   发表时间:2011-09-06  
gtssgtss 写道
taofan911 写道
我是一个比较低俗人
哈哈,一个软件的成功与否,是看这个软件的好评度,客户不会关心你用什么设计模式,用什么技术,他会考虑满足不满足需求。
大家都觉得面向接口编程好,但是也有一些不面向接口编程的案例,所以说没有模式也能做出好的东西,非要把代码起成一个文雅的名字


这么讲就好像说能力重要,学历不重要
但是事实是,学历好的80%能力好,学历不好的80%能力不好


客户不是写软件的,是用软件的。这种问题没必要持续讨论。
0 请登录后投票
   发表时间:2011-09-06  

目标很重要,手段更重要!

 

0 请登录后投票
   发表时间:2011-09-06  
taofan911 写道
我是一个比较低俗人
哈哈,一个软件的成功与否,是看这个软件的好评度,客户不会关心你用什么设计模式,用什么技术,他会考虑满足不满足需求。
大家都觉得面向接口编程好,但是也有一些不面向接口编程的案例,所以说没有模式也能做出好的东西,非要把代码起成一个文雅的名字

没有高质量的代码就很难维护,出了问题怎么解决?并且很可能有2期,3期。。。。不可能完成一个软件就不管了。要易维护性,易扩展。
0 请登录后投票
   发表时间:2011-09-30  
上面说的,真是我想了解的。。个人觉得所谓的是:模式是前人解决问题的一个经验之谈,经过各方面的探讨,慢慢变成经典。。要学习这些思想,既要有理论学习,同样也要有大量的实践经验。。两者结合才能变成LZ说的:
于是紧接着,在后来的一个软件开发中,我开始从问题本质入手,“忘却”模式,为问题提取模型,等设计开发完成之后,发现,我已经自然而然的使用了组合(Composite)模式和解释器(Interpreter)等模式。至此,我才意识到使用OO眼光分析问题的重要性,所以,这本书籍并不是单纯介绍模式的书籍,而是和大家一起探讨OOP,分析OOP给编程带来的好处,希望阅读完本书的人都能开始使用OO的眼光分析问题。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics