中介模式

中介模式
	降低多个对象和类之间的通信复杂性,通信封装到一个类中单独处理
1.定义产品类
2.定义通信方类,内部有产品成员对象(s)和通信行为方法
3.定义中介方类,内部有通信方(s)和用于通信方通信的方法
4.客户端通过中介方类,对通信方的通信实现具体管理

1.定义产品类
	class Product{
		public String productName;
		public float sale;
		public Product(String productName, float sale) {
			this.productName = productName;
			this.sale = sale;
		}
		
	}
2.定义通信方类,内部有产品成员对象(s)和通信行为方法
	class Trader{
		protected List<Product> products = new ArrayList<>();
		protected float money;
		protected String name;
		public Trader(String name,float money) {
			this.money = money;
			this.name = name;
		}
		public void sell(Market market,Product product,Trader trader) {
			market.sell(this, trader, product);
		}
		
	}
3.定义中介方类,内部有通信方(s)和用于通信方通信的方法
	class Market{
		private String marketName ;
		private int credibility;
		public Market(String marketName, int credibility) {
			this.marketName = marketName;
			this.credibility = credibility;
		}
		public void sell(Trader seller,Trader buyer,Product product){
			System.out.println(buyer.name +" buy "+product.productName 
				+ " from "+seller.name+" in "+marketName);
			buyer.money -= product.sale;
			seller.money += product.sale;
			buyer.products.add(product);
			seller.products.remove(product);
		}
	}
4.客户端通过中介方类,对通信方的通信实现具体管理	
	public static void main(String[] args) {
		Market market = new Market("天题交易行", 10);
		Trader atrader = new Trader("A", 3500);
		Trader btrader = new Trader("B", 2000);
		Product product = new Product("米其林轮胎", 1000);
		atrader.sell(market, product, btrader);
	}	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值