国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【設(shè)計(jì)模式】前端控制器模式

這篇具有很好參考價(jià)值的文章主要介紹了【設(shè)計(jì)模式】前端控制器模式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前端控制器模式(Front Controller Pattern)是用來(lái)提供一個(gè)集中的請(qǐng)求處理機(jī)制,所有的請(qǐng)求都將由一個(gè)單一的處理程序處理。該處理程序可以做認(rèn)證/授權(quán)/記錄日志,或者跟蹤請(qǐng)求,然后把請(qǐng)求傳給相應(yīng)的處理程序。以下是這種設(shè)計(jì)模式的實(shí)體。

  • 前端控制器(Front Controller)?- 處理應(yīng)用程序所有類型請(qǐng)求的單個(gè)處理程序,應(yīng)用程序可以是基于 web 的應(yīng)用程序,也可以是基于桌面的應(yīng)用程序。
  • 調(diào)度器(Dispatcher)?- 前端控制器可能使用一個(gè)調(diào)度器對(duì)象來(lái)調(diào)度請(qǐng)求到相應(yīng)的具體處理程序。
  • 視圖(View)?- 視圖是為請(qǐng)求而創(chuàng)建的對(duì)象。

實(shí)現(xiàn)

我們將創(chuàng)建?FrontController、Dispatcher?分別當(dāng)作前端控制器和調(diào)度器。HomeView?和?StudentView?表示各種為前端控制器接收到的請(qǐng)求而創(chuàng)建的視圖。

FrontControllerPatternDemo,我們的演示類使用?FrontController?來(lái)演示前端控制器設(shè)計(jì)模式。

【設(shè)計(jì)模式】前端控制器模式,設(shè)計(jì)模式,設(shè)計(jì)模式,前端

步驟 1

創(chuàng)建視圖。

HomeView.java

public class HomeView {
   public void show(){
      System.out.println("Displaying Home Page");
   }
}

StudentView.java

public class StudentView {
   public void show(){
      System.out.println("Displaying Student Page");
   }
}

步驟 2

創(chuàng)建調(diào)度器 Dispatcher。

Dispatcher.java

public class Dispatcher {
   private StudentView studentView;
   private HomeView homeView;
   public Dispatcher(){
      studentView = new StudentView();
      homeView = new HomeView();
   }
 
   public void dispatch(String request){
      if(request.equalsIgnoreCase("STUDENT")){
         studentView.show();
      }else{
         homeView.show();
      }  
   }
}

步驟 3

創(chuàng)建前端控制器 FrontController。

FrontController.java

public class FrontController {
   
   private Dispatcher dispatcher;
 
   public FrontController(){
      dispatcher = new Dispatcher();
   }
 
   private boolean isAuthenticUser(){
      System.out.println("User is authenticated successfully.");
      return true;
   }
 
   private void trackRequest(String request){
      System.out.println("Page requested: " + request);
   }
 
   public void dispatchRequest(String request){
      //記錄每一個(gè)請(qǐng)求
      trackRequest(request);
      //對(duì)用戶進(jìn)行身份驗(yàn)證
      if(isAuthenticUser()){
         dispatcher.dispatch(request);
      }  
   }
}

步驟 4

使用?FrontController?來(lái)演示前端控制器設(shè)計(jì)模式。

FrontControllerPatternDemo.java

public class FrontControllerPatternDemo {
   public static void main(String[] args) {
      FrontController frontController = new FrontController();
      frontController.dispatchRequest("HOME");
      frontController.dispatchRequest("STUDENT");
   }
}

步驟 5

執(zhí)行程序,輸出結(jié)果:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-649671.html

Page requested: HOME
User is authenticated successfully.
Displaying Home Page
Page requested: STUDENT
User is authenticated successfully.
Displaying Student Page

到了這里,關(guān)于【設(shè)計(jì)模式】前端控制器模式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 12.5在Linux中編寫(xiě)隊(duì)列模式的SPI控制器驅(qū)動(dòng)

    12.5在Linux中編寫(xiě)隊(duì)列模式的SPI控制器驅(qū)動(dòng)

    在Linux內(nèi)核中更加推薦使用隊(duì)列模式的SPI控制器驅(qū)動(dòng),而且隊(duì)列模式的SPI控制器驅(qū)動(dòng)也更加簡(jiǎn)單,只需要在驅(qū)動(dòng)中實(shí)現(xiàn)單個(gè)spi_transfer的傳輸即可,將spi_message拆解為spi_transfer、片選GPIO控制、統(tǒng)計(jì)信息更新等均由SPI核心去完成。 實(shí)現(xiàn)設(shè)置SPI總線的函數(shù)setup,用于設(shè)置SPI總線,若

    2024年01月20日
    瀏覽(16)
  • 一級(jí)倒立擺控制 —— PID 控制器設(shè)計(jì)及 MATLAB 實(shí)現(xiàn)

    一級(jí)倒立擺控制 —— PID 控制器設(shè)計(jì)及 MATLAB 實(shí)現(xiàn)

    最優(yōu)控制介紹 一級(jí)倒立擺控制 —— 系統(tǒng)建模(傳遞函數(shù)模型與狀態(tài)空間方程表示) 一級(jí)倒立擺控制 —— 最優(yōu)控制 線性二次型控制(LQR)及 MATLAB 實(shí)現(xiàn) 一級(jí)倒立擺控制 —— MPC 控制器設(shè)計(jì)及 MATLAB 實(shí)現(xiàn) 一級(jí)倒立擺控制 —— ROS2 仿真 一級(jí)倒立擺控制 —— LQR 控制器 GAZEBO 仿

    2024年02月03日
    瀏覽(28)
  • 一級(jí)倒立擺控制 —— MPC 控制器設(shè)計(jì)及 MATLAB 實(shí)現(xiàn)

    一級(jí)倒立擺控制 —— MPC 控制器設(shè)計(jì)及 MATLAB 實(shí)現(xiàn)

    最優(yōu)控制介紹 一級(jí)倒立擺控制 —— 系統(tǒng)建模(傳遞函數(shù)模型與狀態(tài)空間方程表示) 一級(jí)倒立擺控制 —— PID 控制器設(shè)計(jì)及 MATLAB 實(shí)現(xiàn) 一級(jí)倒立擺控制 —— 最優(yōu)控制 線性二次型控制(LQR)及 MATLAB 實(shí)現(xiàn) 一級(jí)倒立擺控制 —— MPC 控制器設(shè)計(jì)及 MATLAB 實(shí)現(xiàn) 一級(jí)倒立擺控制 ——

    2024年02月03日
    瀏覽(27)
  • 一級(jí)倒立擺控制 —— LQR 控制器設(shè)計(jì)及 MATLAB 實(shí)現(xiàn)

    一級(jí)倒立擺控制 —— LQR 控制器設(shè)計(jì)及 MATLAB 實(shí)現(xiàn)

    最優(yōu)控制介紹 一級(jí)倒立擺控制 —— 系統(tǒng)建模(傳遞函數(shù)模型與狀態(tài)空間方程表示) 一級(jí)倒立擺控制 —— PID 控制器設(shè)計(jì)及 MATLAB 實(shí)現(xiàn) 一級(jí)倒立擺控制 —— MPC 控制器設(shè)計(jì)及 MATLAB 實(shí)現(xiàn) 1.1 系統(tǒng)變量表: 參數(shù) 符號(hào) 數(shù)值 小車質(zhì)量 M M M 0.5 kg 擺桿質(zhì)量 m m m 0.2 kg 小車摩擦系數(shù) b

    2024年02月04日
    瀏覽(47)
  • 項(xiàng)目三 電梯控制器設(shè)計(jì)(FPGA綜合應(yīng)用設(shè)計(jì))

    項(xiàng)目三 電梯控制器設(shè)計(jì)(FPGA綜合應(yīng)用設(shè)計(jì))

    (一個(gè)很簡(jiǎn)陋的電梯控制器設(shè)計(jì),但是應(yīng)該可以過(guò)關(guān)了吧???????) 通過(guò)實(shí)驗(yàn),鞏固有限狀態(tài)機(jī)設(shè)計(jì)方法,并設(shè)計(jì)實(shí)現(xiàn)一個(gè)電梯控制器。 利用 BASYS 開(kāi)發(fā)板資源設(shè)計(jì)一個(gè) 5 層樓的電梯控制器系統(tǒng),并能在開(kāi)發(fā)板上 模擬電梯運(yùn)行狀態(tài),具體要求如下: 利用開(kāi)發(fā)板的 5 個(gè)按鍵作

    2024年02月03日
    瀏覽(27)
  • MATLAB 模型預(yù)測(cè)控制(MPC)控制入門(mén) —— 設(shè)計(jì)并仿真 MPC 控制器

    MATLAB 模型預(yù)測(cè)控制(MPC)控制入門(mén) —— 設(shè)計(jì)并仿真 MPC 控制器

    MATLAB 模型預(yù)測(cè)控制(MPC) 模型預(yù)測(cè)控制工具箱? 提供了用于開(kāi)發(fā)模型預(yù)測(cè)控制 (MPC) 的函數(shù)、應(yīng)用程序、Simulink? 模塊和參考示例。對(duì)于線性問(wèn)題,該工具箱支持設(shè)計(jì)隱式、顯式、自適應(yīng)和增益調(diào)度 MPC。對(duì)于非線性問(wèn)題,您可以實(shí)現(xiàn)單級(jí)和多級(jí)非線性 MPC。該工具箱提供可部

    2024年02月02日
    瀏覽(20)
  • 基于FPGA的PID控制器設(shè)計(jì)

    基于FPGA的PID控制器設(shè)計(jì)

    PID控制應(yīng)該算是應(yīng)用非常廣泛的控制算法了。常見(jiàn)的比如控制環(huán)境溫度,控制無(wú)人機(jī)飛行高度速度等。PID我們將其分成三個(gè)參數(shù),如下: P-比例控制,基本作用就是控制對(duì)象以線性的方式增加,在一個(gè)常量比例下,動(dòng)態(tài)輸出,缺點(diǎn)是會(huì)產(chǎn)生一個(gè)穩(wěn)態(tài)誤差。 I-積分控制,基本作

    2024年02月03日
    瀏覽(22)
  • 基于simulink的PID控制器設(shè)計(jì)

    基于simulink的PID控制器設(shè)計(jì)

    目錄 1、PID算法的基本理論 1.1 PID?控制的基本概念 1.2 基本公式 1.3?PID控制系統(tǒng)原理圖 2、在simulink中搭建PID控制器模型及調(diào)參 ?3、調(diào)參 PID 控制器是一種比例、積分、微分并聯(lián)控制器。它是最廣泛應(yīng)用的一種控制器。在 PID 控制器中,它的數(shù)學(xué)模型由比例、積分、微分三部分

    2024年02月03日
    瀏覽(32)
  • k8s控制器之job--第六彈Job的模式

    Kubernetes Job 對(duì)象可以用來(lái)支持 Pod 的并發(fā)執(zhí)行,但是: Job 對(duì)象并非設(shè)計(jì)為支持需要緊密相互通信的Pod的并發(fā)執(zhí)行,例如科學(xué)計(jì)算 Job 對(duì)象支持并發(fā)處理一系列相互獨(dú)立但是又相互關(guān)聯(lián)的工作任務(wù),例如: 發(fā)送郵件 渲染頁(yè)面 轉(zhuǎn)碼文件 掃描 NoSQL 數(shù)據(jù)庫(kù)中的主鍵 其他 在一個(gè)復(fù)雜

    2024年02月10日
    瀏覽(18)
  • 【Matlab】簡(jiǎn)單PID 控制器設(shè)計(jì)(控制系統(tǒng)工具箱)

    【Matlab】簡(jiǎn)單PID 控制器設(shè)計(jì)(控制系統(tǒng)工具箱)

    這里展示如何設(shè)計(jì)一個(gè)簡(jiǎn)單的PID控制器。 傳遞函數(shù)如下: s y s = 1 ( s + 1 ) 3 sys=frac{1}{(s+1)^3} sys = ( s + 1 ) 3 1 ? 首先,創(chuàng)建模型并選用PI控制器: 生成結(jié)果如下: (交叉頻率約為0.52 rad/s,相位裕度為60) 檢查受控系統(tǒng)的閉環(huán)階躍響應(yīng): 為了縮短響應(yīng)時(shí)間,可以設(shè)置比自動(dòng)選擇

    2024年02月06日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包