查看: 820|回复: 0

[Java项目交流] java设计模式--中介模式

[复制链接]
  • TA的每日心情
    无聊
    2016-12-1 15:20
  • 签到天数: 668 天

    连续签到: 3 天

    [LV.9]以坛为家II

    发表于 2015-5-17 17:41:20 | 显示全部楼层 |阅读模式
    本帖最后由 忘忧的记忆 于 2015-5-17 17:41 编辑

    QQ截图20150517174704.png


    /*
    *中介模式: 可以简单的理解成对象之间的交互的解耦,买房和卖方之间的解耦,中介公司
    *卖方和买房之间的交互,现在变成卖方,中介者和买方
    */


    设计买方和卖方:
    1. package meditor;

    2. public interface BusinessInf {
    3.         public  void action();
    4. }

    5. package meditor;

    6. public class Seller implements BusinessInf {
    7.         private String name;
    8.         private String address;
    9.         
    10.         public Seller(String name, String address){
    11.                 this.name = name;
    12.                 this.address = address;
    13.         }
    14.         
    15.         public void action() {
    16.                 System.out.println(name + "卖出了房子("+address+")");
    17.         }
    18.         

    19. }

    20. package meditor;

    21. public class Buyer implements BusinessInf{

    22.         private String name;
    23.         
    24.         public Buyer(String name){
    25.                 this.name = name;
    26.         }
    27.         public void action() {
    28.                 System.out.println(name + "买了房子");
    29.         }


    30. }
    复制代码
    设计中介者:
    1. package meditor;

    2. public abstract class Meditor {
    3.         public  abstract void notices(String content);
    4. }

    5. package meditor;

    6. public class MeditorImpl extends Meditor {
    7.         private Seller seller;
    8.         private Buyer buyer;
    9.         
    10.         public MeditorImpl(Seller seller,Buyer buyer){
    11.                 this.seller = seller;
    12.                 this.buyer = buyer;
    13.         }

    14.         public void notices(String content) {
    15.                 System.out.println("content:"+ content);
    16.                 if(content.equals("buyer")){
    17.                         this.buyer.action();
    18.                 }else if(content.equals("seller")){
    19.                         this.seller.action();
    20.                 }else{
    21.                         System.out.println("no msg");
    22.                 }
    23.                
    24.         }


    25. }

    复制代码
    测试类:
    1. package meditor;
    2. /*
    3. *中介模式: 可以简单的理解成对象之间的交互的解耦,买房和卖方之间的解耦,中介公司
    4. *卖方和买房之间的交互,现在变成卖方,中介者和买方
    5. */
    6. public class MeditorDemo {
    7.         public static void main(String[] args) {
    8.                 Seller seller = new Seller("blackhat","南京");
    9.                 Buyer buyer = new Buyer("东");
    10.                 Meditor meditor = new MeditorImpl(seller, buyer);
    11.                 meditor.notices("seller");
    12.                 meditor.notices("buyer");
    13.         }

    14. }
    复制代码
    输出结果:

    content:seller
    blackhat卖出了房子(南京)
    content:buyer
    东买了房子

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    站长推荐上一条 /1 下一条