徒手撸设计模式-中介者模式
作者:互联网
概念
中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。
参考链接: https://www.runoob.com/design-pattern/mediator-pattern.html
代码案例
生产类
@Slf4j public class Production { public static String product(MediatorBicycle bicycle, int count){ log.info("生产{}辆{}自行车",count,bicycle.getName()); return "生产"+count+"辆"+bicycle.getName()+"自行车"; } }
生产自行车类
@Setter @Getter public class MediatorBicycle { private String name; public MediatorBicycle(String name) { this.name = name; } public String product(int count){ return Production.product(this,count); } }
测试主类
/** * 设计模式控制器 */ @RestController @RequestMapping("/designPattern") @Slf4j public class DesignController { @PostMapping("/mediator") public ResponseModel mediator(@RequestBody String[] bicycleArr) { log.info("mediator ---- start "); List list = new ArrayList(); for (int i = 0; i < bicycleArr.length; i++) { MediatorBicycle bicycle = new MediatorBicycle(bicycleArr[i]); String product = bicycle.product(i+1); list.add(product); } log.info("mediator ---- end "); return new ResponseModel("命令模式完成", 200, list); } }
测试案例
2022-07-01 00:44:37.505 INFO mediator ---- start 【http-nio-8081-exec-8】【DesignController:77】 2022-07-01 00:44:37.505 INFO 生产1辆BMW自行车 【http-nio-8081-exec-8】【Production:8】 2022-07-01 00:44:37.505 INFO 生产2辆Giant自行车 【http-nio-8081-exec-8】【Production:8】 2022-07-01 00:44:37.506 INFO 生产3辆Benz自行车 【http-nio-8081-exec-8】【Production:8】 2022-07-01 00:44:37.506 INFO 生产4辆Merida自行车 【http-nio-8081-exec-8】【Production:8】 2022-07-01 00:44:37.506 INFO mediator ---- end 【http-nio-8081-exec-8】【DesignController:84】
标签:INFO,00,01,07,mediator,中介,设计模式,public,徒手 来源: https://www.cnblogs.com/hikoukay/p/16433161.html