黑马程序员技术交流社区
标题:
请大家谈谈设计模式
[打印本页]
作者:
陈云展
时间:
2012-11-3 13:49
标题:
请大家谈谈设计模式
任意模式任意谈。能扯多少扯多少。可以代码可以文字。想和大家交流交流。
作者:
jsfjb
时间:
2012-11-3 13:57
这位大哥,您上面的面向对象,我谈了,我感觉,可以感慨两句。其实就是牢骚两句。
你有说道设计模式。我感觉,您要不就是技术特牛,要不就是,学的东西,特别的乱。
我感觉学的东西特别乱的可能性特大。我建议这位大哥,最好是稍微整理一下基础吧。
先别说设计模式。要是我没有敲上几年的代码。我是在面试的时候,不敢说设计模式的。
我的感觉是此处的水很深。请您先绕行。
作者:
黄小贝
时间:
2012-11-3 14:19
本帖最后由 黄小贝 于 2012-11-3 14:21 编辑
只有在你亲手做过一个大型的项目,并且由于你的代码结构的混乱性导致了项目失败后,你才会开始觉得设计模式的重要性,而且最忌讳的是为了用设计模式而去用设计模式,我个人觉得,设计模式是在代码重构的过程中总结出来的,出发点是
重构
,(重构的概念可以自行谷歌)
作者:
陈云展
时间:
2012-11-3 20:57
http://bbs.itheima.com/thread-30213-1-1.html
{:soso_e170:}动态代理。
作者:
陈云展
时间:
2012-11-3 20:59
本帖最后由 陈云展 于 2012-11-3 21:04 编辑
http://blog.csdn.net/snowjlz/article/details/8127875{:soso_e170:}单例模式。
作者:
陈云展
时间:
2012-11-4 17:16
设计模式之静态代理。
好的不说直接上代码。
Moveable.java
package com.snow;
public interface Moveable {
void move();
}
复制代码
Tank.java
package com.snow;
import java.util.Random;
public class Tank implements Moveable{
@Override
public void move() {
//long start = System.currentTimeMillis();
System.out.println("Tank Moving .......");
try {
Thread.sleep(new Random().nextInt(10000));
} catch (InterruptedException e) {
e.printStackTrace();
}
//long end = System.currentTimeMillis();
//System.out.println("time:" + (end - start));
}
}
复制代码
Tank2.java
package com.snow;
public class Tank2 extends Tank{
@Override
public void move() {
long start = System.currentTimeMillis();
super.move();
long end = System.currentTimeMillis();
System.out.println("time:" + (end - start));
}
}
复制代码
Tank3.java
package com.snow;
public class Tank3 implements Moveable{
Tank t;
public Tank3(Tank t) {
super();
this.t = t;
}
@Override
public void move() {
long start = System.currentTimeMillis();
t.move();
long end = System.currentTimeMillis();
System.out.println("time:" + (end - start));
}
}
复制代码
简单给予说明。实现静态代理的方法有两种:
继承实现
实现同一接口聚合被代理对象
两者聚合比较好。因为更为灵活。
作者:
陈云展
时间:
2012-11-5 00:14
大家什么代理都可以谈的。比哪state command adapter proxy singleton strategy facade mediator observer bridge decorator and so on....
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2