直接先看代码
这是一个贸易商分布式渠道卖货的逻辑。
代理商 | 分销店 | 顾客
接口 — 交易
/**
* 静态代理 - 交易接口
* @version 0.1
* @author BaiJing.biz
*/
public interface Trade {
void sell();
}
代理商
/**
* 静态代理 - 代理商网点
* @version 0.1
* @author BaiJing.biz
*/
public class AgentOutlets implements Trade{
@Override
public void sell() {
System.out.println("Agent 代理商销售商品");
}
}
实际的商品销售行为,由代理商完成。
分销店
/**
* 静态代理 - 分销点(代理商的渠道)网点
* @version 0.1
* @author BaiJing.biz
*/
public class DistributionOutlets implements Trade {
// Distribution Outlets 的销售动作也是 Agent Outlets 出票出货的
// 聚合
private final AgentOutlets agentOutlets = new AgentOutlets();
@Override
public void sell() {
System.out.println("Distribution 代理商分销点 - 销售商品。");
System.out.println("Distribution 加收收 Distribution Outlets 服务费 ");
agentOutlets.sell();
}
}
分销店销售的行为由代理商完成,要
先声明代理商
在进行分销店的销售动作;而分销店的具体交易行为也是代理商完成的
agentOutlets.sell();
顾客购买
public class CustomerRun {
public static void main(String[] args) {
DistributionOutlets outlets = new DistributionOutlets();
outlets.sell();
}
}
结果

参考动态代理
设计模式(Design pattern)代理模式(Proxy Pattern)之动态代理(Dynamic Pattern)-CSDN博客
代理模式(Proxy Pattern)之静态代理(Static Proxy)&spm=1001.2101.3001.5002&articleId=150265291&d=1&t=3&u=14c653a42a2c442d96d7f49c6de3ad2b)
285

被折叠的 条评论
为什么被折叠?



