FrontController将所有的业务功能和配套的基础关注点(比如授权、安全及视图呈现)集中化。
该模式执行流程如下:
书中第一种实现方式是以Command(命令模式)实现,主要类结构如下图所示:
最后采用一个CustomHTTPHandler:IHttpHandler来拦截最被的HTTP请求,使其能够正确处理自定义的路径。 如下:
public class CustomHTTPHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
ObjectFactory.GetInstance<FrontController>()
.handle(ObjectFactory.GetInstance<IWebRequestFactory>().CreateFrom(context));
}
public bool IsReusable
{
get { return true; }
}
}