Определение: используется для уменьшения сложности связи между несколькими объектами и классами. Паттерн посредника принадлежит поведенческой схеме.
Функции:
1. Уменьшите сложность класса и преобразуйте один к человеку в один к одному.
2. Размещение между различными классами.
3. Соответствует принципу Dimit.
Приложения в разработке на уровне предприятия и общих структурах: C в режиме MVC
Конкретные примеры:
открытый класс демонстрация {public static void main (string [] args) {mediator m = new Mediator (); Отдел D1 = новый отдел (M, «Департамент развития»); Департамент D2 = новый отдел (M, «Финансовый отдел»); Департамент D3 = новый отдел (M, «Департамент планирования»); M.Add (D1, "DEP"); M.Add (D2, "Fin"); M.Add (D3, "C"); D2.Apply («Существует проект в руке, который должен быть разработан», «DEP»); D1.Apply («Проект разработки требует средств», «FIN»); D1.Apply («Проект был разработан и должен быть запланирован и опубликован», «C»); D3.Apply («Пресс -конференция требует средств», «FIN»); }} класс отдел {private String name; частный посредник посредника; Публичный департамент (посредник посредника, название строки) {this.name = name; this.mediator = mediator; } public String getName () {return name; } public void setName (string name) {this.name = name; } public void Apply (String Thing, String Comportinate) {System.out.println («Мы»+this.getName ()+","+thing+", нуждаются в помощи"); mediator.dispatch (это, вещь, координата); } public void handle (String name, String thing) {System.out.println ("Мы"+this.getName ()+","+name+"Нужна наша помощь, мы обратимся с их делами немедленно"); System.out.println ("*********************************************************************** ***************************************************** • ******************************************************* • ***************************************************** • ******************************************************* • ***************************************************** • ******************************************************* • ***************************************************** • *Посредник объект, держит все объекты коллеги и отвечает за планирование координационной работы различных отделов*/класс медиатор {частная строка имени; Частная карта <строка, департамент> map = new Hashmap <String, Department> (); public void add (отдел D, название строки) {this.map.put (name, d); } public void -диспетчерская (отдел DPT, String Thing, строка координата) {Департамент D = Map.get (координата); D.Handle (dpt.getName (), вещь); }}Разница между промежуточным режимом и режимом прокси: когда я впервые услышал о режимах этих двух режимов, я почувствовал, что эти два режима казались одним и тем же режимом, но эти два режима были совершенно разными. Прокси -режим в основном использовался для скрытия реальных объектов и предотвращения знания конкретных данных операции. Режим посредника в основном использовался для сложных взаимодействий нескольких объектов с несколькими объектами. Чтобы упростить эти взаимодействия, был найден режим терминатора.