Latest web development tutorials

Посредническая модель

Посредническая модель (Посредник Pattern) используется для уменьшения сложности коммуникации между множеством объектов и классов. Эта модель обеспечивает промежуточный класс, который обычно обрабатывает связь между различными классами, а также поддержка слабосвязанная, делая проще код для поддержания. паттерны Посредник относятся поведенческие модели.

введение

Намерение: Использование промежуточного объекта , который инкапсулирует набор объектов взаимодействуют промежуточные объекты , сохраняемости ссылаться друг на друга в явном виде, что делает его слабосвязанности, и может самостоятельно изменить взаимодействие между ними.

Главным образом решить: есть много объектов и связей между объектами, это неизбежно приведет к структуре системы становится очень сложным, но если объект изменяется, мы также должны отслеживать объекты , связанные с ним, и сделать соответствующее лечение ,

Когда использовать: несколько классов связаны друг с другом, образуя структуру сети.

Как исправить: вышеупомянутая структура сети разделяется на звездной структуры.

Код ключа: обмен данными между объектами Коллега инкапсулировать класс отдельно.

Примеры применения: 1, до вступления Китая в ВТО различные страны торгуют друг с другом, сложной структурой, она странами ВТО торговать друг с другом.2, система планирования аэропорта. 3, рамки MVC, где C (контроллер) М (модель) и V (вид) посредник.

Преимущества: 1, уменьшая сложность класса будут преобразованы в один-ко-многим.2, каждая развязку между классами. 3, в соответствии с принципами Деметры.

Недостатки: большой брокер будет сложным и трудным для поддержания.

Сценарии использования: 1 существует между объектами в системе более сложная ссылка отношений, что приводит к зависимости между ними непонятных и трудных для повторного использования структуры объекта.2, нужен средний класс, который инкапсулирует поведение нескольких классов, и не хотят, чтобы генерировать слишком много подклассов.

Примечание: не следует использовать , когда ответственность путаницы.

реализация

Давайте идти через посредника, например модель чатах. Пример, многочисленные пользователи могут отправлять сообщения, чаты, чаты, сообщение отображается для всех пользователей. Мы создадим два классаChatroomипользователя.Пользователь объектовChatroomспособы делиться новостями.

MediatorPatternDemo,мы продемонстрировать использование объекта классапользователядля отображения связи между ними.

Посредник модели UML диаграмма

Шаг 1

Создать промежуточный класс.

ChatRoom.java

импорт java.util.Date;

Открытый класс Chatroom {
   государственной статической силы ShowMessage (пользователь User, String сообщение) {
      System.out.println (новые Дата (). ToString ()
         + "[" + User.getName () + "]:" + сообщение);
   }
}

Шаг 2

Создайте класс пользователя.

User.java

Открытый класс пользователя {
   частное имя строки;

   Строка GetName общественности () {
      вернуть имя;
   }

   общественного недействительными SetName (имя String) {
      this.name = имя;
   }

   Public User (имя String) {
      this.name = имя;
   }

   общественного недействительными SendMessage (String сообщение) {
      ChatRoom.showMessage (это, сообщение);
   }
}

Шаг 3

Используйте объектпользователядля отображения связи между ними.

MediatorPatternDemo.java

Открытый класс MediatorPatternDemo {
   государственной статической силы основных (String []) {агдз
      роберт User = Новый пользователь ( "Роберт");
      джон User = Новый пользователь ( "John");

      robert.sendMessage ( "Привет, Джон !!");
      john.sendMessage ( "Привет Роберт !!");
   }
}

Шаг 4

Проверьте выход.

Чт 31 января 2013 16:05:46 IST [Роберт] :! Привет, Джон!
Чт 31 января 2013 16:05:46 IST [Джон] :! Привет Роберт!