麻雀虽小,但五脏俱全
sparrow 源自中国俗语 麻雀虽小,但五脏俱全,努力打造一个全新的低耦合,0依赖的高性能java 开发基础框架。 这个框架我从11年开始写,中间重构了n遍,最原始的代码可能都找不到了,之所以坚持写,最初并不是想造新轮子。 主要是从中学习基础原理。 经过近十年的打磨,发现有些设计思想和理念,是值得学习的。比如spring mvc 的设计模式,orm ico 等等。 虽然很多朋友们都了解,但要真正自己实现起来也并不是那么容易。而这个过程对原来的深入理解是很帮助,所以将这部分开源出来, 供有同样需求的朋友参考。在此过程中也发现了现有框架的一些弊端,比如没有一个跨数据源的orm。所有项目都需要依赖spring 才能跑起来, 使我们的业务依赖很多jar,而大部分的jar包可能是不需要的,代码变得臃肿,维护困难。 为此基于oop的基本思想,构建一层api,最大化的解耦。
框架特点
- 相信程序员
通过对原理有了更深入的了解,对写程序来讲会更简单,高效,很多框架之所以很重,很重要的一个原因是不相信程序员,这个框架从jdk出发,尽量不依赖第三方jar 包,让程序能跑起来,让程序更快。
- 从0开始
人脑思维是发散的,如果中间某个知识点断掉,可能就会产生知识盲点,这个盲点可能产生的影响很大的,尤其是技术更象是一层窗户纸,捅破了,简单,捅不破,如隔山。 所以我们从0开始,让知识连贯起来,消除盲点,不只让程序变得高效,更让程序员变得高效。
- 0依赖
框架实现最简单的,最核心的功能,尽量不依赖任何框架,包括spring。
- 解耦/隔离
sparrow模块 只定义了一些接口,具体实现在其他的模块中,是否依赖由业务端决定,最大化解耦。
- 扩展
遵循开闭原则,对业务提供扩展点。
项目架构及远期规划
架构中大部分功能已具基本的使用框架,但还需要进一步完善和优化,具体内容可查看架构详细介绍
jedis和rocket mq 客户端已具备基本的生产环境使用条件
其它模块还需进一步完善,欢迎有兴趣的小伙伴,一起加入 email:zh_harry#163.com
架构详细介绍 https://www.jianshu.com/p/74122495a463
start
-
下载项目管理壳子,通过该项目可以下载sparrow所以子项目 git@github.com:sparrowzoo/sparrow-shell.git 具体操作见该项目 readme.md
-
style 目录为codestyle 和checkstyle 及copyright 相关配置文件,朋友们可自行配置.
-
编译sparrow-super 项目 该项目包括sparrow 所有依赖的jar,共用配置文件及sparrow 子项子的全局版本号,目前所有还没有上传至maven 仓库,感兴趣的朋友可以fork版本自行控制,待代码稳定后逐步上传至maven仓库共享。 maven编译命令 cd sparrow/sparrow-super mvn clean install -U -Dmaven.test.skip
-
回到父项目根目录cd .. 编译全局项目,如令如上
-
sparrow 为保持代码整洁,所有的test 项目单独由一个sparrow-test 项目管理,该项目已有部分功能通过test case,朋友们可以下载了解sparrow 运行 测试用例 https://github.com/sparrowzoo/sparrow-test case 逐步完善中...
-
后绪重点会开发orm(跨数据源 db elastic search hbase) 和mvc两大重要模块,敬请期待...
我们的愿景和未来
让程序员脱离spring, 也能写代码,而且更快,更优雅
相关推荐
Sparrow是一款针对移动web app开发的前端轻量级框架.
Sparrow.js是一个短小精悍的前端基础库,它包含对DOM、CSS基本操作、多平台浏览器移动设备判断、Cookies操作、事件的绑定、日期、数字、字符串相关判断、以及浏览器自身函数不足所扩展的一系列功能。开发技术说明...
SPARROW
java排课源码麻雀调度器 Sparrow 是一个高吞吐量、低延迟和容错的分布式集群调度器。 Sparrow .../sparrow/src/main/java/edu/berkeley/sparrow/examples (使用 Sparrow 的示例应用程序) /deploy/
进销存管理程序 Sparrow
java笔试题2015 #Sparrow sparrow 是一个简单高效的http server,纯C语言开发(基于Linux),目前主要用在本人个人的网站. #Online demo #150行的一个demo httpd,帮你理解整个结构 如果需要理解代码的结构,建议去...
iOS游戏引擎 Sparrow Framework ,Sparrow是一个基于Objective-C的开源的游戏引擎,完全为iOS设备构建。该项目可以让开...
Sparrow-Framework官网源代码, 从官网下载的Sparrow-Framework源代码,大家可以看看学习。这个google收购的时候可用了2500万美元哦。
#Sparrow 功能测试基于 jasmine 和 jQuery 的功能性网站测试框架。 Sparrow 旨在通过简化异步测试来解决网站测试中固有的异步测试问题。 麻雀: 使异步测试更容易允许同时测试多个页面,以便可以测试复杂的交互在...
Sparrow-v1-6-4.dmg 在mac上安装的sparrow,一个邮件客户端。
Sparrow是基于“抽象解释”框架进行设计的,并且在设计上进行了合理的分析。 Sparrow采用了许多成熟的静态分析技术,以实现可伸缩性,精度和用户便利性。 这是Sparrow的学术版本,不同于。 建置状态 Linux MAC OSX...
在19个基准函数上进行了实验,测试了SSA算法的性能,并与其他算法如灰狼优化算法(GWO)、引力搜索算法(GSA)和粒子群优化算法(PSO)进行了比较。仿真结果表明,该算法在精度、收敛速度、稳定性和鲁棒性等方面优于...
非常有用的东东哦! 掌握这个,servlet就ok了
资源分类:Python库 所属语言:Python 资源全名:sparrow-tool-0.3.5.dev2.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
自测Sparrow1.5破解版本
``一只小麻雀拥有鸟类的所有东西。'' Calendar Sparrow 是一个漂亮的小日历,您可以记录任何内容并在以后进行搜索。 好好享受!
sparrow.js是一个前端基础库,精简版的jQuery 精简版lodash的合体。础库,精简版的jQuery 精简版lodash的合体。{"JavaScript":106148}
sparrow 破解 mac 邮件,点击patch直接成功!不在有任何广告,已测试最新版app
到为止,Sparrow操作系统的设计文档已经全部发布,代码也不准备继续更新了。在“自己写操作系统”这事儿完成之前,做一个总结。 一个真正的操作系统没有“完成”的时候,但是Sparrow操作系统作为一个“习作”和...
定制很大程度上取决于实验室在其sparrow-config.sh和sparrow-config.overrides.sh定义的环境变量。 此存储库中的sparrow-config.sh文件包含WiscAr的Sparrow版本的配置。 每当您在此存储库的目录或子目录中运行...