从今天起,计划每天写一篇,来把自己的框架开发思路及实现过程全程记录下来,供大家参考。
一个框架开发前的准备工作,个人觉得有以下几点:
1、整个框架的结构模式
实现方式有:前端组件化( Jqeury+html)+可分布式后端(node)+ 可分布式服务端(.NET 、JAVA、PHP)
前端组件化( Vue.js+html)+可分布式后端(node)+ 可分布式服务端(.NET 、JAVA、PHP)
2、数据交互格式确定 (整个调用过程全部采用接口模式)
前端->可分布式后端(JSON/HTML)->可分布式服务端 (JSON/HTML)
3、统一的调用入口支持
可分布式后端或可分布式服务端对外只提供唯一入口,内部通过路由进行流转,其好处为:
1、有利于http指令上下文封装及后台分布式多层调用(从前后到可分布式服务端的参数会进行上下文打包,主要是去掉http的属性,
可分布式服务端的参数内部流转就与http请求没有关系了)
2、方便进行高性能的日志、权限、用户跟踪等实现(虽然用AOP等其它注入模式也可实现,但个人觉得此种比较简单,性能比较好)
3、后期架构调整及扩展方便,通过路由转换即可实现分布式
4、用户上下文及事务上下文作用域支持
4、后端开发语言
原始底层框架(如Spring Boot, ASP.NET MVC,.NETCORE等)都可以
代码分层及注入模式确认(如AOP,ORM等等)
5、分布式Session及权限管理(包括权限模板等)
6、多数据库或多远程调用接口支持
因为互联网项目通过是分库或通过RPC来进行调用的
7、建模平台支撑
在一个框架里边,通常都有一个底层的建模平台,
1、用来实现业务的快速开发,包括丰富的API、插件化、构件化、动态模板引擎支持,
2、提供缓存、消息队列、搜索引擎、多数据库、日志等支持的API接口
3、结构化数据输出,通过配置形成的界面 ,可与前端组件共同实现支持H5,HTML渲染及数据绑定,实现自动化业务
4、数据级权限支持
8、最重要的一点,就是要有框架蓝图及框架实现结构图,才能做到整体规划,分步实现