代码拉取完成,页面将自动刷新
同步操作将从 ryanpenn/dart_in_action 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
/**
前端控制器模式(Front Controller Pattern)
前端控制器(Front Controller) - 处理应用程序所有类型请求的单个处理程序,应用程序可以是基于web的应用程序,也可以是非web的应用程序。
调度器(Dispatcher) - 前端控制器可能使用一个调度器对象来调度请求到相应的具体处理程序。
视图(View) - 视图是为请求而创建的对象。
*/
main(List<String> args) {
// 用来提供一个集中的请求处理机制,所有的请求都将由一个单一的处理程序处理。
// 该处理程序可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序
FrontController frontController = new FrontController();
frontController.dispatchRequest("HOME");
frontController.dispatchRequest("STUDENT");
}
//////////////////////////////////////////////////////////////////
///
/// 创建视图
///
class HomeView {
void show() {
print("Displaying Home Page");
}
}
class StudentView {
void show() {
print("Displaying Student Page");
}
}
///
/// 创建调度器 Dispatcher
///
class Dispatcher {
StudentView _studentView;
HomeView _homeView;
Dispatcher() {
_studentView = StudentView();
_homeView = HomeView();
}
void dispatch(String request) {
if (request.toUpperCase() == "STUDENT") {
_studentView.show();
} else {
_homeView.show();
}
}
}
///
/// 创建前端控制器 FrontController
///
class FrontController {
Dispatcher _dispatcher;
FrontController() {
_dispatcher = Dispatcher();
}
bool _isAuthenticUser() {
print("User is authenticated successfully.");
return true;
}
void _trackRequest(String request) {
print("Page requested: " + request);
}
void dispatchRequest(String request) {
//记录每一个请求
_trackRequest(request);
//对用户进行身份验证
if (_isAuthenticUser()) {
_dispatcher.dispatch(request);
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。