35、最简单的mvc框架tiny,V2版原理图、设计
在前面的v1版,由于我们临时起意,存在不少问题,我重新设计框架v2版chen(重名问题改名为chen)。 原理图如下: 先说下chen框架 的功能: restful地址支持(chen中叫路由)。 mvc功能,使用简单。 多视图支持,支持自定义扩展。 action支持同步和异步请求。 充血模型。 aop功能。 Ioc为容器,管理这所有action和mo del,框架使用者同样可以使用ioc。 多数据库支持,通过工厂支持多数据库实现,支持自定义扩展。 orm功能,使用简单,无需定义xml、注解等。 简单,核心类只有10几个。 设计思路如下: 以前置控制器接受用户特定请求,如果 为action请求,则将请求地址转化为路由(/类/方法/)。 根据用户的请求类型(同步或异步),创建 执行环境,交给 不同的handler来处理。 handler以 初始化、执行、渲染视图、销毁资源4个步骤一次执行。 handler执行:从执行环境(执行环境从ioc容器中取出action和aop)中取出action、aop等信息,调用aop和action。 handler 渲染视图:根据action返回的类型,渲染视图和保存数据。 handler 销毁资源:销毁执行环境。 action中使用的model模型,是从 ioc容器中取出。 model模型通过工具类获得合适数据库操作。工具类通过工厂类获得。