Java Front Controller Pattern(前端控制器模式)
来源:互联网 发布:python基础环境搭建 编辑:程序博客网 时间:2024/06/10 16:12
Java Front Controller Pattern(前端控制器模式)
前端控制器模式(Front Controller Pattern)是用来提供一个集中的请求处理机制,所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。以下是这种设计模式的实体。
- 前端控制器(Front Controller) - 处理应用程序所有类型请求的单个处理程序,应用程序可以是基于 web 的应用程序,也可以是基于桌面的应用程序。
- 调度器(Dispatcher) - 前端控制器可能使用一个调度器对象来调度请求到相应的具体处理程序。
- 视图(View) - 视图是为请求而创建的对象。
- 创建视图。
/** * 1. 创建视图。 * @author mazaiting */public class HomeView { public void show() { System.out.println("Displaying Home Page"); }}/** * 1. 创建视图 * @author mazaiting */public class StudentView { public void show() { System.out.println("Displaying Student Page"); }}
- 创建调度器 Dispatcher。
/** * 2. 创建调度器 Dispatcher。 * @author mazaiting */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(); } } }
- 创建前端控制器 FrontController。
/** * 3. 创建前端控制器 FrontController。 * @author mazaiting */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){ // 记录每一个请求 trackRequest(request); // 对用户进行身份验证 if (isAuthenticUser()) { dispatcher.dispatch(request); } } }
- 使用 FrontController 来演示前端控制器设计模式。
/** * 4. 使用 FrontController 来演示前端控制器设计模式。 * @author mazaiting */public class Client { public static void main(String[] args) { FrontController frontController = new FrontController(); frontController.dispatchRequest("HOME"); frontController.dispatchRequest("STUDENT"); }}
- 打印结果
Page requested: HOMEUser is authenticated successfully.Displaying Home PagePage requested: STUDENTUser is authenticated successfully.Displaying Student Page
阅读全文
0 0
- Java Front Controller Pattern(前端控制器模式)
- 【设计模式】前端控制器模式(Front Controller Pattern)
- 设计模式学习—前端控制器模式(Front Controller Design Pattern)
- Front Controller(前端控制器)
- J2EE Design Patterns 2 Front Controller(前端控制器)
- J2EE Design Patterns 2 Front Controller(前端控制器)
- Page Controller (页面控制器)和Front Controller(前端控制器)
- Java前端控制器模式
- Java前端控制器模式
- Petstore中的J2EE Pattern之Front Controller
- 前端控制器设计模式
- 前端控制器设计模式
- Java设计模式(3):前端控制器模式
- 前端控制器模式-设计模式
- Zend Front Controller Plugin
- Zend Front Controller
- MVC控制器(Controller)与策略模式(Strategy)
- SpringMVC前端跳转Controller控制器的时候出现404
- Java Composite Entity Pattern(组合实体模式)
- Java Data Access Object Pattern(数据访问对象模式)
- Java 邮件(问题解决)
- Java 邮件(JavaMail)
- Java Pinyin4j(汉字转拼音)
- Java Front Controller Pattern(前端控制器模式)
- Java Intercepting Filter Pattern(拦截过滤器)
- Java Service Locator Pattern(服务器定位模式)
- Java Transfer Object Pattern(传输对象模式)
- Android Exception(全局异常)
- 我的开源包
- MySQLProxy实现MySQL的读写分离
- GitHub优秀开源工具---Android
- 优秀的开源项目