贠学文2023年11月22日
106阅读
开发技术redis、nio、多线程、nginx、java
授权协议LGPL许可

作品详情

框架描述: 此框架为自己在业余时间独立编写开发的一套框架。已申请专利,估值800万。
此框架分为以下三个部分:
1. 架构(SOA) :
在传统的 MVC 架构的基础上进行优化,除 MVC 基本功能以外,实现了以下功能:
1.1. 基于约定大于配置原则,基本实现零配置。
1.2. 提供多数据库之间的事物管理。
1.3. 集成缓存框架,并提供对数据库 id 黑名单管理,防止缓存穿透。
1.4. 封装 ORM 关系映射,比使用 hibernate 和 mybatis 更加简单。
1.5. 实现了 bean 容器的管理以及依赖注入。
1.6. 可以通过实体类,导出相应的 sql 脚本和数据字典。
1.7. 可以导出每个请求的请求参数、验证规则、响应参数等信息,方便前后端的协作开发。
2. 插件(PLUGIN) :
插件目的在于,在程序中需要用到第三方工具包时,实现对代码零侵入,使得可以在程序中自由切换工具包。
插件主要分为以下三个模块:
2.1 客户端(CLIENT) :供调用者调用。
2.2 接口(API) :与客户端为一对一关系,与服务端为一对多关系。
2.2.1 服务接口(SERVER_API) :需服务端去实现的接口 API。
2.2.2 用户接口(USER_API) :需程序调用者自己去实现的接口 API。
2.3 服务端(SERVER) :实现 API 暴露的接口,一个 API 接口会对应多个服务端实现。
用户在使用插件时,在代码编译过程中,只需依赖客户端包即可,无需关心服务端基于什么实现。在系统启动前,将
对应的服务端包导入项目中,系统会自动对客户端与服务端做绑定。在需要更换工具包时,也只需要替换服务端包即
可,对代码零侵入。
插件支持界面化操作,如果某个 SERVER 端的配置文件发生变化,只需在界面上调用重新加载配置文件接口即可,无
需重启服务。在集群环境下,用户无需对每一台服务器都调用此接口,如果其中一台服务器调用此接口成功,会以消
息队列形式通知到其它服务器,其它服务器接收到通知后,即会重新加载配置文件。
目前主要实现了如下插件:
(1) AOP 插件:实现了面向切面编程。
(2) RPC 插件:实现了分布式系统之间的相互调用。
(3) DBPOOL 插件:实现了对数据库连接池的管理。
(4) CACHE 插件:实现了对缓存的管理。
(5) CHECK 插件:通 bean 与注解的结合使用,实现了良好的数据校验机制。
(6) SESSION 插件:实现了对分布式的 SESSION 的良好管理。
(7) THREADPOOL 插件:实现了对线程池的管理。
(8) JSON 插件:实现了对 JSON 的管理
(9) MQ 插件:实现了消息队列的管理
(10) PUSH 插件:实现了由本地向远程服务器发送数据的功能。
(11) EXCEL 插件:实现了对 EXCEL 读、写的操作。
(12) TEMPLATE 插件:实现了根据模板文件生成字符串或生成文件的功能。
框架难点:
1. 在大量使用反射的前提下,如何提供执行效率。
2. 如何减少用户使用此框架的学习成本。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论