还是之前的小明花钱买作业,这次是假期作业没有小刚帮他写了。小明自己又写不出来,于是找到了一个拉皮条的。这个拉皮条的就是一个中介者,很多找人写作业的和帮人写作业的都找他。但是拉皮条的也不是万能的当没有发布任务的或者接收任务的他只能宣布这次交易失败。
这个逻辑用代码怎么写呢?
首先需要一个发布任务的类,这个类与中介者发生交互而不与服务提供方交互
public class Publisher {
private String name = null;
public Publisher(Mediator mediator,String name){
this.name = name;
mediator.setPublisher(this);
}
public void setTask(){
System.out.println(name+"花钱请人买作业");
}
}
下来当然也需要写作业的人了
public class Server {
public String name =null;
public Server(Mediator mediator,String name){
this.name = name;
mediator.setServer(this);
}
public void getTesk(){
System.out.println(name+"把这个活接了");
}
}
最后通过中介把双方联系起来
public class Mediator {
private Publisher publisher;
private Server server;
public void setPublisher(Publisher publisher) {
this.publisher = publisher;
}
public void setServer(Server server) {
this.server = server;
}
public void deal(){
if(publisher==null||server==null){
System.out.println("交易不成功");
}else {
publisher.setTask();
server.getTesk();
clean();
}
}
public void clean(){
publisher = null;
server = null;
}
}
再看看我们的场景
public class Client {
public static void main(String[] args) {
Mediator mdt = new Mediator();
Publisher publisher = new Publisher(mdt, "小明");
Server server = new Server(mdt, "小强");
mdt.deal();
}
}
运行结果:
小明花钱请人买作业
小强把这个活接了