Java设计模式_行为型_中介者模式_租个房子不过如此
来源:互联网 发布:python 常用设计模式 编辑:程序博客网 时间:2024/05/01 18:10
转载请注明出处:http://blog.csdn.net/ljmingcom304/article/details/50417776
本文出自:【梁敬明的博客】
1.为什么会有中介
当来到一个陌生的城市去工作,难免要解决各种各样的生活问题,对于人生地不熟的是你来说,遇到问题时如何解决显得至关重要。如果我们没有办法直接解决,就把需求告诉中介通过他们来解决吧!
//当遇到同样的问题时,我们就是难兄难弟public abstract class Colleague { //将问题带给中介,让他们去解决 public <T> void setContract(Mediator<T> mediator, String message) { mediator.execute(this, message); } //生活中有很多问题需要去解决 public abstract void doSomething();}
2.中介是干什么的
当然要去找中介帮忙,应当明白他们到底是干什么的,为什么可以帮助我们解决这样那样诸多如此的问题。作为一个中介,首先要有一个信息的仓库,用于存储大量的信息,从中剔除无用的信息,当用户有需求时,可以从信息仓库中取出信息帮助用户解决实际问题,说起来就是这么简单!
//中介到底可以做什么public abstract class Mediator<T> { // 建立信息的仓库 private List<T> colleagues = new ArrayList<T>(); // 收集大量的信息 public void addColleague(T t) { colleagues.add(t); } // 剔除没用的信息 public void removeColleague(T t) { colleagues.remove(t); } // 使用指定信息仓库 public List<T> getColleagues() { return colleagues; } // 帮助苦逼的我们解决各种各样的问题 public abstract void execute(Colleague colleague, String message);}
3.房东与住户之间
出来混最重要的一件事情就是要找个落脚的地方,身为路人甲的我们,想要避免各种大坑找个自己满意的房子,真是难上加难。
有没房子住的,也有房子多的住不了的,房子空着实在是太浪费,毕竟房地产进入行业低迷期,空着又不会涨价,还不如租出去也是一笔客观的收入。
//陌生城市混的路人甲public class ZhangSan extends Colleague { // 先找个落脚的地方 public void doSomething() { System.out.println("张三要租房。"); }}//陌生城市的房东public interface HouseOwner { // 看看谁在租房 void doSomething(String message);}//陌生城市的房东乙public class WangWu implements HouseOwner { //我要出租,谁要租我的房子 public void doSomething(String message) { System.out.println(message+",王五要出租。"); }}
4.那就去找个中介
有房东想要出租房子,有住户想要租住房子,当然找一个合适的租房中介还是十分必要的,房东只需要把自己的房子委托给中介即可,住户也可以从中介那里挑选适合自己的房子住,双方都可以获得更多的选择,房东可以更加容易的将自己的房子出租出去,住户又能更加方便的找到物美价廉的租房。
//这就是一个房屋中介public class HouseMediator extends Mediator<HouseOwner> { // 从信息仓库中找到帮住户找到合适的房源 @Override public void execute(Colleague colleague, String message) { for (HouseOwner lessor : getColleagues()) { colleague.doSomething(); lessor.doSomething(message); } }}
5.现在就开始租房
现在开始完成第一笔租房的生意。房屋中介首先要接受房东的出租委托,当然没有房东的委托,住户找中介也组不到房子,毕竟没有房源嘛。当中介那里有了房源以后,住户就可以找中介查找自己需要租赁的房子。
public class Client { public static void main(String[] args) { // 房屋中介 Mediator<HouseOwner> mediator = new HouseMediator(); // 房东将房子委托给中介 mediator.addColleague(new WangWu()); // 需要租房子的住户 ZhangSan zhang = new ZhangSan(); // 寻找中介租个房子 zhang.setContract(mediator, "张三租个单间"); }}
0 0
- Java设计模式_行为型_中介者模式_租个房子不过如此
- Java设计模式_(行为型)_中介者模式
- java设计模式_中介者模式
- 23种设计模式(17)_行为型_中介者模式(Mediator Pattern)
- Java设计模式_(行为型)_责任链模式
- Java设计模式_(行为型)_命令模式
- Java设计模式_(行为型)_迭代模式
- Java设计模式_(行为型)_备忘录模式
- Java设计模式_(行为型)_观察者模式
- Java设计模式_(行为型)_状态模式
- Java设计模式_(行为型)_策略模式
- Java设计模式_(行为型)_模版方法模式
- Java设计模式_(行为型)_访问者模式
- Java设计模式_(行为型)_解析器模式
- Java设计模式_行为型_观察者模式_任意行为的监听
- 大话设计模式_中介者模式
- 设计模式_中介者模式
- 设计模式_中介者模式下
- 获取文件的绝对路径
- Spring scope属性
- JAVA 使用Dom4j 解析XML
- Chrome解析JSON工具
- 方向导数和梯度
- Java设计模式_行为型_中介者模式_租个房子不过如此
- java项目中引用loadrunner lrapi
- UIImageView上添加Button不能响应点击事件
- 关于window.location.href的一些问题,求大神指教
- appcache 缓存
- iOS输入框怎样避免键盘的遮挡
- IIS——服务器上部署网站及遇到的问题图解(二)
- web测试需了解的知识
- Java深入(高新技术)(八):代理技术AOP