前两篇分别描述了"为什么要研究源码"和"研究源码的痛苦", 这里接下来看最后一篇"避害趋利", 意指为什么那个电子书让我既能支持源码研究,又不至于受那么的苦遭那么多的罪, 用数学来描述,就是尽量使(动力 - 阻力)差值最大化.
那这本电子书在我研究源码的道路上具体又有什么魔力呢? 下面我将结合两篇所列要点,避害趋利地分析下下. 电子书的链接为:http://www.discursive.com/books/cjcook/reference/book.html
1, 问题驱动. 这里借助一个时髦一点的名字, 咱也叫作"XX驱动". 具体到这本书上,就是说书中所列feature都是先从很具体的问题引入的, 这样不至于像看Hibernate源码里的类那样,一上来并不清楚这个类具体是干啥的?为什么要引入它? 有了这个问题驱动的特点, 再看/跟踪所说源码时,心里有一个明确的目标, 所有努力都会有的放失, 目标单一了, 也就更能集中精力地钻研问题.
2, 例子说明. 这一点很重要, 有了例子, 上面讲述的问题也就更形象, 自己也就不必再设计例子去验证那些feature, 可以直接在例子的基础上设置断点、跟踪、查看其具体实现细节. 而这样的优点,在研究hibernate或Tomcat时,那是根本不敢想的, 不可能有这样材料针对hibernate每一个类的作用加以说明.
3, 短小精悍. 此电子书,基本上是按一集一个feature的节奏前进的. 这种感觉就像看情景喜剧,一集一个故事,故事之间没有关联, 什么时候有时间了,都看上一集.而hibernate就像是三国演义了, 若事先一点"基础"也没有的话,那么错综复杂的人物关系根本理不出头绪了. 这样的短小精悍,还有一个好处,就是每一个feature下来,都是一个成功,也相应地有了成就感,日集月累,金字塔也就慢慢展显了出来.
4, 容易出彩. 书所列feature大都是对日常编码中易出错问题的解决了, 把它们研究透了, 一是从意识层面上可以考虑周全而少出问题,再有即使出了问题也心里有底, 想到可能会从这个ApacheCommon中找到答案.在这方面, Hibernate虽说比Tomcat更接近实用,更由于其"人物关系复杂",自己容易走丢, 投入产出比要差不少.
5, 积木作用. 由于书中feature是对小问题的集中解决, 而这些小问题想比于大问题跟自己更亲近(而且本质上讲,大问题也都小问题积累而成),我们对它们的做案现场更易把握.于是无意中,也就锤炼了自己对问题的分析、对事物的建模能力. 这样的提高也会比hibernate来的更平易近人. 再上一个层面, 像hibernate这样的大项目,不少功能也就直接借用了ApacheCommon的东西, 这样对书中所列ApacheCommon的功能有了集中了解/精通后, 日后再研究Hibernate时,也就少了很多绊脚石. 再无边际进想一下, 自己说不一定针对现实中的一些问题, 利用这些积木也"攒巴"出一个开源东东来呢. 呵呵...
--------------
至此, 结合自己的酸甜苦辣,分了三篇引出ApacheCommon对研究源码上地帮助作用, 接下来的日子中, 结合自己的工作节奏,将会相应的研究心得陆续呈现出来, 敬请大家关注. 谢谢.
分享到:
相关推荐
《使用源码实现KITTI数据集的可视化》 在计算机视觉领域,数据集的可视化是一项重要的任务,它有助于研究人员理解数据、验证算法效果以及优化模型性能。KITTI数据集是自动驾驶和三维视觉研究中广泛使用的一个大型...
**JSP网上订餐系统详解** 本项目是一个基于JSP技术的网上订餐系统,旨在为程序员朋友们提供一个完整的学习示例,特别是...通过实际操作和研究源码,不仅可以提升JSP技能,还能学习到项目开发的整体流程和最佳实践。
利滚利计算器源码 源码描述: 一、源码特点 利滚利计算器,复利计算,还款计算,代码简单,欢迎下载 二、菜单功能 输入本金、利率、天数、点击计算即可 三、注意事项 开发环境为Visual Studio 2012,使用.net 3.5...
Rxtx源码:RXTX是个提供串口和并口通信的开源java类库,由该项目发布的文档均遵循LGPL协议。该项目的主页位于http://users.frii.com/jarvi/rxtx/index.html
用户帐号:可以为新员工建立帐号;可以为遗失密码的用户初使化密码;可以修改用户所在的权限组及部门;可以设置员工的个人信息。 权限组:可以将每个用户设置到不同的权限组中以保证不同用户具有与其身份相对应的...
通过深入研究SSCOM源码,你可以学到如何实现一个功能完备的串口通信工具,理解底层通信协议,掌握GUI编程技巧,还能提高问题排查和系统设计能力。这不仅是提升个人技能的好途径,也是进入嵌入式系统、物联网等领域的...
在IT行业中,麻将APP源码是一项复杂而有趣的项目,它涉及到移动应用开发、游戏设计、算法实现、网络通信以及用户体验等多个领域。以下是对这个主题的详细解析: 首先,"麻将APP源码"指的是用于构建麻将应用程序的...
使用http request和socket实现的Android即时通讯应用 原始源码:https://code.google.com/p/simple-android-instant-messaging-application/ 最新源码:https://github.com/Pirngruber/AndroidIM
在这个"微信小程序-仿滴滴公交 实例源码下载"中,我们能够学习到如何利用微信小程序开发一个类似滴滴公交的出行服务应用。 首先,我们要了解微信小程序的基础架构。它主要基于JavaScript,使用WXML(Weixin Markup ...
源码说明: 01.交友源码数据包大小:20兆左右,会员图像大小110兆左右。数据库50兆。源码总共需要占用空间341兆。 02.交友源码运行环境:apache+php+mysql运行环境。本机测试环境为:wampserver2.1,其中Apache ...
【标题】"互助网站源码最新版 最新互助平台程序建设开发源码"指的是一个用于构建互助类网站的源代码包,它包含了构建此类平台所需的全部核心组件和功能。互助平台通常指的是网络上的金融互助社区,用户之间可以互相...
《新仙剑奇侠传》是一款基于Unity3D引擎开发的知名角色扮演游戏,其源码提供了深入理解游戏开发过程和Unity3D引擎功能的宝贵机会。以下是对源码中的关键知识点进行的详细解读: 1. **Unity3D引擎**:Unity3D是一个...
这个压缩包文件包含了130个微信小程序的源码,是学习和研究微信小程序开发的宝贵资源。通过这些源码,你可以深入理解微信小程序的架构、开发流程以及常见功能的实现。 首先,微信小程序的开发基础是JavaScript、...
【若水新闻】是一款集成了客户端与服务端的新闻应用源码,对于开发者而言,它提供了深入了解新闻类应用开发的宝贵资源。通过分析这个源码,我们可以学习到以下几个关键的知识点: 1. **客户端源码**:客户端源码...
解压后,开发者可以开始研究源码,理解其结构和工作原理,进而进行定制和部署。 总结来说,这个“多功能在线报价系统源码”是一个强大的工具,可以帮助企业提高报价效率,优化销售流程,并通过可定制性实现与企业...
Eigen为用C++模板开发的用于矩阵、向量等线性代数操作的开源代码,这里是从官网下载的Eigen最新版本
学了3天的android studio还有一点以前的java基础做了个飞机大战的游戏 游戏比较简单大概就这几个功能 1.会动的背景 2.我的飞机 3.发射子弹 3.敌人飞机
移动医疗APP源码是开发医疗健康应用的核心组成部分,它包含了应用程序的所有逻辑和界面设计。...开发者可以通过研究源码学习到Android应用开发的各种技术,同时也可以了解如何在医疗领域实现安全、高效的移动服务。
3M互助网站直销系统,作为一个深受关注的互联网金融模式,其源码的出现为开发者提供了一个深入理解并研究此类系统工作原理的平台。3M互助直销系统源自MMM全球互助社区,它在原有的基础上进行了改良,增加了更多人性...
我们的每个系统作品都要经过周密的市场分析调查、可行性研究、项目策划,对我们来说项目的可行性高于一切! 功能专业、布局严谨 以项目方案为蓝本,以现有成功地方网站为局部参考,并充分结合地方性网站的特点与...