假如现在有一件完整的事务。
“小王想买一个台式电脑,但是对于电脑配件不太了解,
于是找到了一个电脑贩子,电脑贩子从电脑城配了一台给了小李”
把这件事分成三个阶段:
电脑城具有购买的功能,这里充当购买的接口CmputerCity,
假设电脑城提供CPU与键盘,现有keyBuy();与cpuBuy()实现购买接口的两个购买方法
1.小王想组装电脑。
提供一个电脑城。
private ComputerCity computerCity
public void setComputerCity(ComputerCity computerCity) {
this.computerCity = computerCity;
}
提供一个可以购买的接口,并重写接口方法 实现购买接口
computerCity.keyBuy();
computerCity.cpuBuy();
2.代理商接收到了小王的需求。
提供一个顾客 小王。
customer 小王;
提供一个可以购买的接口,并重写接口方法 实现购买接口。
小王.computerBuy();
3.小李去电脑城购买零件,并完成组装给小王。
提供一个顾客对象。
将顾客的需求发送至代理商
Customer 小王 = new Customer();
小王.setComputerCity (new KeyBuy());
提供一个代理商对象,并将顾客的需求传达至当前代理商。
代理商 小李=new 代理商(小王);
小李.keyBuy();
此时完成整个代理商购买流程。