锁定老帖子 主题:生搬硬套设计模式坑害了多少人
精华帖 (6) :: 良好帖 (2) :: 新手帖 (2) :: 隐藏帖 (14)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-04
最后修改:2009-06-04
bachmozart 写道 我实在不理解我的言论有什么地方另你们不爽了
通常架构师早就对常用设计模式很熟悉了,但是单单说熟悉设计模式,那离架构师水平还差十万八千里呢 我就是鄙视那些张口闭口让谈谈设计模式的面试官们,一看就知道压根肚子里就没啥东西,所以就以为掌握那么几个设计模式就很nb了,可笑之极 你去面试时面试官跟你谈设计模式——这说明你自己还是应聘初级职位。既然这样,你肯定没有达到架构师的级别,所以你还是没有真正认识到了解设计模式对于OO编程的重要性。不论他是否【开口闭口】、【单单】说设计模式,至少这个确实很重要。事实上,从我的工作经验中看到,没有优良的设计意识的人(比如不了解设计模式)写的代码是很糟糕的。 当然,成为架构师需要掌握太多太多的技术。但面试官没有吹嘘说会设计模式就是架构师吧? |
|
返回顶楼 | |
发表时间:2009-06-04
少女杀手 写道 刚刚进入职场,但是JAVA的设计模式知道有20多个,就看过一个JNDI,也是不怎么清楚,更不要说其他的了!
我觉得楼主说的对,那些面试官都是在装。 真正开发中用那些模式吗? 我反正没有接触过! JNDI是设计模式?我晕。。。。。。 除非你是去做外包,什么业务都封装好了。否则,不可能不用到很多模式。我看过公司一电信软交换系统,啧啧,工厂、策略、桥梁、命令、监听器啥的都用上了。我的结论是:在业务复杂的情况下,要构建高扩展性、移植性的系统,没有设计模式不能搞定。 |
|
返回顶楼 | |
发表时间:2009-06-04
最后修改:2009-06-04
liudun 写道 少女杀手 写道 刚刚进入职场,但是JAVA的设计模式知道有20多个,就看过一个JNDI,也是不怎么清楚,更不要说其他的了!
我觉得楼主说的对,那些面试官都是在装。 真正开发中用那些模式吗? 我反正没有接触过! JNDI是设计模式?我晕。。。。。。 除非你是去做外包,什么业务都封装好了。否则,不可能不用到很多模式。我看过公司一电信软交换系统,啧啧,工厂、策略、桥梁、命令、监听器啥的都用上了。我的结论是:在业务复杂的情况下,要构建高扩展性、移植性的系统,没有设计模式不能搞定。 我从来不想要用什么模式,模式也仅仅是解决问题的一个方式,需要的时候自然会用到。很不喜欢一些人,什么都还没做就说要用什么什么模式,为模式而模式的人相当不少。 |
|
返回顶楼 | |
发表时间:2009-06-04
lz的例子貌似确实是代理
飘过。。。 |
|
返回顶楼 | |
发表时间:2009-06-05
等楼主有资格做面试官的那一天,你就明白他们也是被逼无奈了。
有时候,人要设身处地从他人出发考虑问题。 楼主说这样的话,让我想起那些毕业后一两年就大骂大学让你浪费青春学了数据结构,编译原理等等的毛头小子。 |
|
返回顶楼 | |
发表时间:2009-06-05
最后修改:2009-06-05
bachmozart 写道 public interface Display{ String display(); } public class DisplayWrapper implements Display{ private Display display; public DisplayWrapper(Display display){ this.display=display; } public String display(){ String s=display.display(); //wrapper自己的处理 } } 很多程序员几乎认为,封装得不花个半天功夫根本找不到实现类在哪 这就是面向对象的美,就是面向对象的最高境界,简单的事情往往搞的N复杂 我就是想说 简单的就是最好的,简单的往往也是强大的 粗浅见解,有拍砖的欢迎 这段代码和标题似乎没有太大的关系。另外,如此用法感觉不妥,既然实现了Display接口,但行为却不是一个实现类本该有的行为。不知道楼主这么写例子是要说明什么问题? |
|
返回顶楼 | |
发表时间:2009-06-05
最后修改:2009-06-05
孔已己这个词大概说的就是楼上几位了
“啧啧,工厂、策略、桥梁、命令、监听器啥的都用上了。我的结论是:在业务复杂的情况下,要构建高扩展性、移植性的系统,没有设计模式不能搞定” 不好意思,我文中说的很傻的行为,大概就是你这种了,你们在这慢慢研究设计模式这种很有前途的,很有技术含量的东西吧 看看等你们把整本书背下来,然后简历写着精通设计模式,看看人家能给你们多少米 |
|
返回顶楼 | |
发表时间:2009-06-09
其实设计模式这东西个人是这么理解的,设计模式只是为了让我们的程序更易于扩展,更利于维护的一些方法,可以说是为了写更好的程序的一种基础。学设计模式是一种OO的思想,其中包括一些法则,对这些模式的合理运用及熟练运用是让我们写出来的程序能更利于扩展和维护。说白了就是程序偷懒的基本功。现在对于语言来说学习的难度已经有所降低了。并且现在不管是c#又或是JAVA,从个人的角度来感觉设计的过程实际上比实现的过程更为重要,就像写作文先打草稿一样,最初的设计思想直接影响到以后编码的可维护性,更有可能还会影响程序的执行效率问题。不过说实话,如果真在面试中让我去思考设计模式嘛…………除了几个最初学的几个模式估计还能记住,真让我去死记某种模式该如何实现真记不住。呵呵~~~设计模式现在已经不再是什么高深的东西,相反,个人认为设计模式应该是学习程序设计的入门。那只是起点,而不是终点。
在此对楼主所说的,面试上必考设计模式嘛,个人认为设计模式必考,但要看如何考法,不应该去考如何实现设计模式,而应该看实现的代码是否更利于维护和扩展,再就是看程序执行的效率。设计模式这种东西应该是一种编程的习惯,而不该是一种对环境硬套的一种模式,当然~~初学者的话推荐硬套,在套的过程中再去体会。 |
|
返回顶楼 | |
发表时间:2009-06-09
shrpcn 写道 有些人为了能重构,尽写烂程序,不思量动手就写, 美其名曰可以重构?
没人能保证自己写的代码就天衣无缝,也没有人能保证自己写的代码足够简洁!HelloWorld你还可以怎么写?你想过吗? |
|
返回顶楼 | |
发表时间:2009-06-13
一帮人,没事瞎咋呼.有时间多看看代码啊.
|
|
返回顶楼 | |