日期:2014-05-20  浏览次数:20597 次

自己想的一个java设计模式不知道给这个模式取个什么名字?
import java.util.Scanner;


interface MethodDelayExec{

public void exec();

}

class Person implements MethodDelayExec,Runnable{

/**
* @param args
*/
Server ser;
/*Server这个类是一个服务于Person的,它的的作用是当控制台有输入内容是通知Person做它的事情这里是执行myDo()
这个方法和myDo1方法,

*/


public static void main(String[] args) {
// TODO Auto-generated method stub
  new Person();
}



  public Person(){
 
 
ser=new Server();
ser.setMde(this);//目的是为了执行this的myDo()和myDo()1两个方法,当屏幕有输入的时候
Thread th=new Thread(ser);
th.start();
  }
  

public void myDo(){

System.out.println("屏幕上有消息输入");
}

public void myDo1(){

System.out.println("哈哈");
}


@Override
public void exec() {

this.myDo();
this.myDo1();

}


@Override
public void run() {

//在这里Person还可以干其他事情,
}




}



class Server implements Runnable{

MethodDelayExec mde;



public void setMde(MethodDelayExec mde){
this.mde=mde;
}

@Override
public void run() {

while(true){
Scanner scan=new Scanner(System.in);
String str=scan.nextLine();
mde.exec();//当控制台有输入时会执行某个对象的方法了
}
}



}


------解决方案--------------------
预设模式
------解决方案--------------------
啥模式,就是一般的回调
当 Server 收到控制台的输入以后,就回调 MethodDelayExec 的exec

------解决方案--------------------
觉得楼主这里是一个面向接口编程的例子,Person 实现了 MethodDelayExec接口,然后Server 去调用接口的方法。
楼主如果真的发现了一种新的设计模式,那还是为中国的IT业贡献很大的,但这个还不算什么新的设计模式。