设计模式/行为型设计模式
简述
使用中介者模式来集中相关对象之间复杂的沟通和控制方式,使得这些对象不必相互明显引用
UML图
 
代码
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 
 | public interface AnimalUse {void play();
 
 void food();
 }
 
 @Slf4j
 public class CatUse implements AnimalUse {
 @Override
 public void play() {
 log.debug(“公共玩具 — “);
 }
 
 @Override
 public void food() {
 log.debug(“猫粮--");
 }
 }
 
 // 抽象中介者
 public interface AnimalMediator {
 
 void media(Animal animal);
 }
 
 // 猫的中介
 public class CatMediator implements AnimalMediator {
 private AnimalUse animalUse;
 
 public CatMediator(AnimalUse animalUse) {
 this.animalUse = animalUse;
 }
 
 @Override
 public void media(Animal animal) {
 animal.run();
 animalUse.food();
 animalUse.play();
 }
 }
 
 // 客户端
 public class Client {
 public static void main(String[] args) {
 Animal cat = new Cat();
 Animal dog = new Dog();
 AnimalUse catUse = new CatUse();
 AnimalUse dogUse = new DogUse();
 CatMediator catMediator = new CatMediator(catUse);
 catMediator.media(cat);
 }
 }
 
 |