写框架思路进程(三)

上篇说道,将会根据RPC框架结构,构建Web MVC,那么这里先来了解RPC框架的大概结构:



对于我们的Web MVC框架,举例如下:

1、mvc.core项目,细分如下的包:

 1.1、common:公共的一些组件,下面的各模块都会用到

 1.2、config:配置模块,解决框架的配置问题

 1.3、startup:启动模块,解决框架和Servlet如何进行整合的问题

 1.4、plugin:插件模块,插件机器的实现,提供IPlugin的抽象实现

 1.5、routing:路由模块,解决请求路径的解析问题,提供了IRoute的抽象实现和基本实现

 1.6、controller:控制器模块,解决的是如何产生控制器

 1.7、model:视图模型模块,解决的是如何产生绑定方法的参数

 1.8、action:action模块,解决的是如何调用方法以及方法返回的结果,提供了IActionResult的抽象实现和基本实现

 1.9、view:视图模块,解决的是各种视图引擎和框架的适配

 1.10、filter:过滤器模块,解决的是执行Action,返回ActionResult前后的AOP功能,提供了IFilter的抽象实现以及基本实现


2、mvc.extension项目,细分如下包: 

 2.1、filters:一些IFilter的实现

 2.2、results:一些IActionResult的实现

 2.3、routes:一些IRoute的实现

 2.4、plugins:一些IPlugin的实现


我们以IXXX来描述一个抽象,可以是接口也可以是抽象类,在具体实现的时候根据需求再来确定。


这种结构的划分方式完全吻合上面说的切蛋糕方式,可以看到除了横切部分和分层部分,作为一个Web MVC框架,它核心的组件就是routing、model、view、controller、action(当然,对于有些MVC框架它没有route部分,route部分是交由Web框架实现的)。


如果我们在这个时候还无法确定框架的模块划分的话,问题也不大,我们可以在后续的搭建龙骨的步骤中随着更多的类的建立,继续理清和确定模块的划分。
经过了设计的步骤,我们应该心里对下面的问题有一个初步的规划了:
1、我们的框架以什么形式来提供如何优雅的API?
2、我们的框架包含哪些模块,模块大概的作用是什么?


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值