門面模式
門面模式相對比較簡單,在這裡簡單介紹下門面模式。
1、門面模式是物件的結構模式。外部與乙個子系統的通訊必須通過乙個統一的門面物件進行。
(比如,病人去醫院看病,自己要進行**,付費,拿藥等操作,現在用門面模式改造下,病人和醫院之間出現了接待員,負責病人的行為操作,幫病人**,取藥等,這個接待員就相當於乙個門面)。
2、門面模式結構:
1、門面角色:客戶端可以呼叫這個角色的方法。知道相關子系統的功能和責任。本角色將所有從客戶端發來的請求委派到相應的子系統去。
2、子系統角色:可以有乙個或者多個子系統,每乙個子系統都是乙個類的集合。每個子系統都可以被客戶端直接呼叫,或者被門面角色呼叫。
子系統並不知道門面的存在,對於子系統門面僅僅是另外乙個客戶端而言。
3、乙個警報系統的例子:
public class alarm
// 關閉
public void turnoff()
// 拉響
public void ring()
// 停止
public void stop()
}public class camera
// 關閉
public void turnoff()
// 轉動
public void rotate(int degrees)
}public class light
// 關閉
public void turnoff()
// 換燈泡
public void changebulb()
}public class sensor
// 關閉
public void turnoff()
// 觸發
public void changebulb()
}//客戶端
public class client
}不採用門面模式下的警報系統結構圖:
經門面模式改造後:
//增加乙個門面,處理繁雜工作
public class securityfacade
public void deactivate()
}//客戶端
public class client
}採用門店模式下的系統結構圖:
經過門面模式的改造,該系統變得非常簡單,繁雜的操作都放在門面裡面,客戶端操作變得非常簡單。
通過此例項,相信對該模式有了進一步的認識。
每天努力一點,每天都在進步。
java 門面模式
門面模式有三個角色組成 1 門面角色 facade 這是門面模式的核心。它被客戶角色呼叫,因此它熟悉子系統的功能。它內部根據客戶角色已有的需求預定了幾種功能組合。2 子系統角色 實現了子系統的功能。對它而言,fa ade 角色就和客戶角色一樣是未知的,它沒有任何 fa ade 角色的資訊和鏈結。3 ...
java設計模式之門面模式
顧名思義 就如同現實世界中的商店,衣服店等門面一樣.我們只需要把錢給人家,拿到自己需要的東西.對於這個商品從 來,又是怎麼造出來的我們大不必要關係,我們只需要關心這個東西好用不用,實用不實用.我們就拿過去經常使用的寫信來舉個例子,首先看圖如下 如下 package com.pattern publi...
java 設計模式之門面模式
面模式 facade pattern 又稱外觀模式,為子系統中的一組介面提供乙個一致的介面,facade 模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。簡而言之,就是把一堆複雜的流程封裝成乙個介面供給使用者更簡單的使用,這個設計模式裡有三個角色 1 門面角色 facade 這是門面模式...