内容简介:前端控制器模式(Front Controller Pattern)是用来提供一个集中的请求处理机制,所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。以下是这种设计模式的实体。
前端控制器模式(Front Controller Pattern)是用来提供一个集中的请求处理机制,所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。以下是这种 设计模式 的实体。
- 前端控制器(Front Controller) - 处理应用程序所有类型请求的单个处理程序,应用程序可以是基于 web 的应用程序,也可以是基于桌面的应用程序。
- 调度器(Dispatcher) - 前端控制器可能使用一个调度器对象来调度请求到相应的具体处理程序。
- 视图(View) - 视图是为请求而创建的对象。
package main import "fmt" type HomeView struct{} func (h *HomeView) Show() { fmt.Println("displaying home page") } type StudentView struct{} func (s *StudentView) Show() { fmt.Println("displaying student page") } type Dispatcher struct { HomeView *HomeView StudentView *StudentView } func NewDispatcher() *Dispatcher { return &Dispatcher{ HomeView: &HomeView{}, StudentView: &StudentView{}, } } func (d *Dispatcher) Dispatch(request string) { if request == "student" { d.StudentView.Show() } else { d.HomeView.Show() } } type FrontController struct { Dispatcher *Dispatcher } func NewFrontController() *FrontController { return &FrontController{ Dispatcher: NewDispatcher(), } } func (f *FrontController) isAuthenticUser() bool { fmt.Println("user is authenticated successfully") return true } func (f *FrontController) trackRequest(request string) { fmt.Println("Page requested: ", request) } func (f *FrontController) DispatherRequest(request string) { f.trackRequest(request) if f.isAuthenticUser() { f.Dispatcher.Dispatch(request) } } func main() { controller := NewFrontController() controller.DispatherRequest("home") controller.DispatherRequest("student") }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- SpringMVC: 前端控制器
- iOS之导航返回上上个控制器或指定返回某个控制器
- iOS小技巧·把子视图控制器的视图添加到父视图控制器
- javascript – AngularJS控制器错误 – :$http.get不是控制器部分的函数
- AC敏捷控制器及准入控制技术对比
- angularjs – 使用ui-router时,控制器是否可以从父控制器继承范围
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
HTTP
David Gourley、Brian Totty、Marjorie Sayer、Anshu Aggarwal、Sailu Reddy / O'Reilly Media / 2002-10-7 / USD 54.99
Product Description Web technology has become the foundation for all sorts of critical networked applications and far-reaching methods of data exchange, and beneath it all is a fundamental protocol......一起来看看 《HTTP》 这本书的介绍吧!