日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

设计模式:外观模式(Facade)

發布時間:2025/6/15 asp.net 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式:外观模式(Facade) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? 外觀模式(Facade)也叫過程模式, 外觀模式為子系統中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。

? ? 外觀模式通過定義一個一致的接口,用以屏蔽內部子系統的細節,使得調用端只需跟這個接口發生調用,而無需關心這個子系統的內部細節。

??

? 外觀類(Facade): 為調用端提供統一的調用接口,外觀類知道哪些子系統負責處理請求,從而將調用端的請求代理給適當的子系統對象。

? 子系統的集合: 指模塊或子系統,處理Facade對象指派的任務,他是功能的實際提供者。

?

? 外觀模式在MyBatis框架中的應用:MyBatis中的Configuration去創建MetaObject對象使用到外觀模式。

?

用外觀模式模擬一個電影院

public class DVDPlayer {private static DVDPlayer instance = new DVDPlayer();private DVDPlayer(){}public static DVDPlayer getInstance(){return instance;}public void play(){System.out.println(" dvd is playing ");}public void on(){System.out.println(" dvd on ");}public void off(){System.out.println(" dvd off ");}public void pause(){System.out.println(" dvd pause ");} }// 爆米花 public class Popcorn {private static Popcorn instance = new Popcorn();private Popcorn(){}public static Popcorn getInstance(){return instance;}public void on(){System.out.println(" Popcorn on ");}public void off(){System.out.println(" Popcorn off ");}public void pop(){System.out.println(" Popcorn is poping ");} }// 投影機 public class Projector {private static Projector instance = new Projector();private Projector(){}public static Projector getInstance(){return instance;}public void on(){System.out.println(" Projector on ");}public void off(){System.out.println(" Projector off ");}public void focus(){System.out.println(" Projector is focus ");} }// 屏幕 public class Screen {private static Screen instance = new Screen();private Screen(){}public static Screen getInstance(){return instance;}public void up(){System.out.println(" Screen up ");}public void down(){System.out.println(" Screen down ");}}// 影院立體聲 public class Stereo {private static Stereo instance = new Stereo();private Stereo(){}public static Stereo getInstance(){return instance;}public void on(){System.out.println(" Stereo on ");}public void off(){System.out.println(" Stereo off ");}public void up(){System.out.println(" Stereo up ");}public void down(){System.out.println(" Stereo down ");} }// 燈光 public class TheaterLight {private static TheaterLight instance = new TheaterLight();private TheaterLight(){}public static TheaterLight getInstance(){return instance;}public void on(){System.out.println(" TheaterLight on ");}public void off(){System.out.println(" TheaterLight off ");}public void dim(){System.out.println(" TheaterLight dim ");}public void bright(){System.out.println(" TheaterLight bright ");} }// 外觀 public class HomeTheaterFacade {private DVDPlayer dvdPlayer;private Popcorn popcorn;private Projector projector;private Screen screen;private Stereo stereo;private TheaterLight theaterLight;public HomeTheaterFacade(){super();this.dvdPlayer = DVDPlayer.getInstance();this.popcorn = Popcorn.getInstance();this.projector = Projector.getInstance();this.screen = Screen.getInstance();this.stereo = Stereo.getInstance();this.theaterLight = TheaterLight.getInstance();}public void read(){popcorn.on();popcorn.pop();screen.down();projector.on();stereo.on();dvdPlayer.on();theaterLight.dim();}public void play(){dvdPlayer.play();}public void pause(){dvdPlayer.pause();}public void end(){popcorn.off();theaterLight.bright();screen.up();projector.off();stereo.off();dvdPlayer.off();} }public class Client {public static void main(String[] args){HomeTheaterFacade facade = new HomeTheaterFacade();facade.read();facade.play();facade.end();} }

??

總結

以上是生活随笔為你收集整理的设计模式:外观模式(Facade)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。