程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 輕松控制java中介者形式

輕松控制java中介者形式

編輯:關於JAVA

輕松控制java中介者形式。本站提示廣大學習愛好者:(輕松控制java中介者形式)文章只能為提供參考,不一定能成為您想要的結果。以下是輕松控制java中介者形式正文


界說:用來下降多個對象和類之間的通訊龐雜性。中介者形式屬於行動型形式。

特色:

     1、下降了類的龐雜度,將一對多轉化成了一對一。

    2、各個類之間的解耦。

    3、相符迪米特准繩。

企業級開辟和經常使用框架中的運用:mvc形式中的c

詳細實例:

public class Demo {

 public static void main(String[] args) {
 Mediator m = new Mediator();
 Department d1 = new Department(m, "開辟部");
 Department d2 = new Department(m, "財政部");
 Department d3 = new Department(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");
 }
}

class Department{
 
 private String name;

 private Mediator mediator;
 
 public Department(Mediator mediator,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 coordinate){
 System.out.println("我們是"+this.getName()+","+thing+",須要贊助");
 mediator.dispatch(this, thing, coordinate);
 }
 
 public void handle(String name,String thing){
 System.out.println("我們是"+this.getName()+","+name+"須要我們的贊助,我們立時處置他們的工作");
 System.out.println("*******************************************");
 }
}
/**
 *中介者對象,持有一切同事對象,擔任調劑各部分調和任務 
 */
class Mediator{
 private String name;
 
 private Map<String, Department> map = new HashMap<String, Department>();
 
 public void add(Department d,String name){
 this.map.put(name, d);
 }
 
 public void dispatch(Department dpt,String thing,String coordinate){
 Department d = map.get(coordinate);
 d.handle(dpt.getName(),thing);
 }
}

中介者形式和署理形式的差別:初一聽這兩個形式的形式感到這兩個形式似乎是一個形式,然則這兩個形式卻完整分歧,署理形式重要用於隱蔽現實對象,不讓他人曉得詳細的操作細節,而中介者形式則重要用戶多對象多對多的龐雜交互,為了簡化這些交互,才有了終結者形式。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved