没有接口就没有设计模式

如题,呵呵
我感觉设计模式就是灵活运用接口的一些小把戏而已,我刚学java没多久,到现在只学到第9种设计模式了(创建型6种,结构型3种,每天3种),不知道gof后面的14种设计模式是不是都是以巧用接口为主题,还请高人指点。
学习完设计模式,我想重新组织一下我以前编过的代码,以便重用,然后看看经典架构,要是顺利的话应该就可以自己编写点简单的架构了~~

很正确,是一位已经有所得道者的心声,欢迎你继续发表你的想法。

这位大哥:
我看了好多你以前的回帖,写的都很不错(特别是和别人辩论观点的帖子,呵呵),你是怎么做到有贴必回的?要评选软件界的劳模,我看非你莫属了,哈哈

劳模这个称号很好。学习模式就是要多交流 勤回帖,说错了才是进步

你学了模式后,就觉得我的话有道理,有些人如果还是对我的话不感冒,或不认同,说明我们的基础世界观不一样,我的基础软件世界观是建立在模式上,所以,凡是深得模式真谛的人都是与我同道者,这个通道不论学历 还是博士还是教授,你不懂模式,我们就无法对话,你就和现代软件永远隔一层膜。

[该贴被banq于2009-09-01 19:25修改过]

这位兄弟说的没错,其实面向对象就是封装、继承、多态,当然设计模式也就是围绕这些做文章了,为了增加程序的灵活性,接口也就非常多的被运用到设计模式中了,但是设计模式的精华是此模式解决什么样的问题,怎么样将模式应用到自己的设计中,知道一个设计模式的基本实现方式不难,但是要恰如其职的应用到自己的设计中就非一日之功了,本人菜鸟一个,希望能和大家多交流,呵呵

我本身对模式很感兴趣!也有一些自己的看法!动态的看软件,可以看到变化点!封装变化点,将不变的部分和变的部分分离开来,不变的部分写成抽象的,变的部分则是实现的.来应对需求的变化!软件总有一个稳定的主逻辑,是可以长时间用的!将软件放在时间轴上来看!很容易找到相对来说不稳定的部分!而相对稳定的部分,我们可以写出软件的抽象层!也就是类库层吧!不知道理解的对不对!反正我的好多同学,做软件都1年快半了,做的项目都找不见抽象和接口的影子!

没有接口,还有抽象类啊。

我认为不能把接口,模式作为招数去对待,写出程序才好,学会模式再忘掉。自然而然地就接口,抽像类,内部类,封装都出来了。

其实,从编码的角度上讲,不仅是模式,任何东西都是小把戏。

但是,会模式未必会架构吧。

模式不深奥
用好不容易
有的人用刀比用枪还灵活

有的人用枪比用刀灵活,比如周星星,早上被闹钟叫醒,周从被窝拿出一把枪,冲着闹钟就是一枪,实在是高

都是高手诶!请多多指教!

shmilya谦虚了,比较赞同你说的“设计模式的精华是此模式解决什么样的问题”,OO的基础要素就那么多,关键在于灵活运用这些要素来解决问题。

2009年09月02日 10:59 "shmilya"的内容
这位兄弟说的没错,其实面向对象就是封装、继承、多态,当然设计模式也就是围绕这些做文章了,为了增加程序的灵活性,接口也就非常多的被运用到设计模式中了,但是设计模式的精华是此模式解决什么样的问题,怎么样将模式应用到自己的设计中,知道一个设计模式的基本实现方式不难,但是要恰如其职的应用到自己的设计中就非一日之功了,本人菜鸟一个,希望能和大家多交流,呵呵

兄台的见解甚好,抽象和寻找变与不变是解决问题的关键。

2009年10月01日 12:21 "YiBanXiaoRen"的内容
我本身对模式很感兴趣!也有一些自己的看法!动态的看软件,可以看到变化点!封装变化点,将不变的部分和变的部分分离开来,不变的部分写成抽象的,变的部分则是实现的.来应对需求的变化!软件总有一个稳定的主逻辑,是可以长时间用的!将软件放在时间轴上来看!很容易找到相对来说不稳定的部分!而相对稳定的部分,我们可以写出软件的抽象层!也就是类库层吧!不知道理解的对不对!反正我的好多同学,做软件都1年快半了,做的项目都找不见抽象和接口的影子!

你的观点只针对于Java,对于其他语言,特别是脚本语言来说。这就大错特错了。比如ruby,而且ruby对于设计模式的实现,更加优美。参考一下这个javaeye的帖子