我们说不要重新发明轮子,其实不是这样的,我们要“发明”轮子,而不是制造轮子。发明是需要有创新的,有新的价值出来的,制造只是按照图纸生产而已!生产出来的轮子是没有灵魂的!
做为优秀的软件,他应该是有灵魂的,或者说有自己的特色,有气质,有核心价值。一般来说,一提到某个优秀的软件,你想到的第一个用来评价的词,往往就是这个软件的灵魂所在。
先说说spring吧,大家都熟悉,一提到spring,你会想到什么呢?简单么?灵活么?还是轻量?在我看来都不是,我第一个想到的是方便。spring的出现,把我们从ejb里解脱出来,把我们从很多繁杂的配置中解脱出来,我使用ibatis,使用jdbc,使用hibernate,很方便,我整合我软件的各个部分,只需要简单配置一下,很方便,我要发邮件,要使用jms,都很方便。(我这里就不说为啥第一想到的不是简单、灵活、轻量了,免得引起争论,没啥意思,每个人都有自己的感受,我只是表达自己的观点而已),方便就是spring的价值所在。
再看看hibernate,说实话,我没有在生产中使用过hibernate,但是我对他的了解也不少,姑且也评论一下吧。提到hibernate,我首先想到的是优雅,他试图使用一种优雅的方式来解决ORM,实际上,他完成的很好。优雅就是hibernate的内涵。
说道这里,突然想起几年前Gavin King和Rod Johnson在社区里吵的不可开交,为的就是Gavin认为spring对hibernate的封装很丑陋,而Johnson同学又觉得这么封装使用起来很容易。谁对谁错是没啥意义的,其实在我现在看来,其实是两个软件理念的冲突,spring对hibernate的封装,很大程度上是为了和ibatis啊,jdbc啊提供类似的template方式访问,这必然就掩盖了hibernate内在的一些东西,使用上是方便了,但是Gavin同学认为这样搞的不优雅了,于是乎,就吵了一架。
我们继续看ibatis,生产中我都用他,为啥,因为简单。ibatis只做一件事情,就是sql mapping,他只需要把这一件事情做好就行了,我非常满意,因为非常简单,而且能很好的满足我的需要,简单就是ibatis一直坚持的方向。
我们这里提到的spring,hibernate,ibatis,都是非常优秀的软件(包),在我看来,他们都有一个共同点:一直坚持着自己的风格,坚持着自己核心的价值,没有被其他东西晃花了眼睛。
后记:当spring成立一家公司,并且接受风险投资的时候,我就开始担心spring了,现在挂着spring名头的东西已经太多了....
提到java,你会想到什么呢?汗,我首先想到的是笨重....
分享到:
相关推荐
第三讲的主题聚焦在“计算机的灵魂”——软件,这一讲深入探讨了软件的重要性和其在计算机系统中的核心地位。 首先,软件是计算机能够执行任务的关键。没有软件,硬件就像一台空壳,无法实现任何功能。软件可以分为...
软件开发是物联网系统的灵魂软件开发是物联网系统的灵魂软件开发是物联网系统的灵魂软件开发是物联网系统的灵魂软件开发是物联网系统的灵魂
计算机的灵魂软件.pdf
### 计算机导论-计算机的灵魂:软件 #### 教学内容概览 本章节主要探讨了计算机软件的核心概念及重要性,并深入讲解了软件的相关组成部分和技术领域,旨在帮助学生建立对计算机软件全面而深刻的理解。具体涉及的...
软件的发展非常快速,新版本的软件不断涌现,每个版本都在前一个版本的基础上进行改进和升级。软件的生命周期包括设计、开发、测试、维护和升级等几个阶段。 软件与知识产权息息相关,软件是智力活动的成果,受到...
需求管理是一种获取、组织并记录软件需求的系统化案,同时也是一个使客户与工程开发组对不断变更的软件需求达成并保持一致的过程。在需求管理中,软件工程组的工作是采取适当的措施来保证分配的需求,即要将分配的...
软件工程的历史背景中,软件危机是一个不可忽视的问题。在软件危机概念提出之前,这些问题就已经存在,如系统开发失败、成本高昂、无法按时交付等问题。软件工程的出现,正是为了解决这些危机,它在IEEE下的定义包括...
因此,对于一个优秀的程序员而言,编写出像艺术品一样的程序,是一种高尚的职业追求。 #### 模块化设计与管理 模块化是软件架构中的一个重要概念,它将整个系统划分为多个独立的组件或模块,每个模块负责实现特定...
总结来说,软件工程规范是软件开发的灵魂,它指导着项目的每一个步骤,从前期的规划到后期的维护,确保软件开发的每一个环节都遵循科学的、系统化的路径,从而提高软件的质量和效率,降低开发风险。对于技术开发部门...
计算机的灵魂——软件 在计算机科学领域,软件被誉为计算机的灵魂,这是因为软件赋予了硬件执行特定任务的能力。软件由一系列指令组成,这些指令被称为程序,它们存储在计算机的主存储器中,以便快速访问和执行。...
### MES深度报告上篇:工业软件“灵魂” #### 一、工业软件概况 ##### 1.1 工业互联网产业体系架构,3万亿市场规模 工业互联网作为一种新兴的技术体系,正逐步构建起一个全面覆盖的研发、生产和服务体系。据赛迪...
在如今这个信息爆炸的时代,文件夹管理软件作为一种重要的电脑应用工具,对于提高用户工作效率具有重大意义。本文将深入探讨一款具有创新性的文件夹管理软件,其特色为四格窗口布局和操作的便捷性,为用户在处理文件...
源代码是软件的灵魂,揭示了软件背后的逻辑和算法,对于开发者来说,能够接触到商品化杀毒软件的源代码是一次难得的学习机会。 首先,我们需要了解杀毒软件的基本工作原理。杀毒软件主要通过三种方式来防御病毒和...
(2)是活着的人的灵魂验证,实现了灵魂的神话。 2、科学的定义 (1)、在运行中提供所希望的功能和性能的指令集(即程序)。 (2)使程序能够正确运行的数据结构。 (3)描述程序研制和方法所用的文档。 3、软件的...
1. 软件需求说明书:这是软件开发的第一步,它详细描述了软件的目标、功能、性能、用户界面和运行环境。通常包含引言(编写目的、背景、定义)、任务概述(目标、用户特点、假定和约束)、需求规定(功能、性能、...
一个实用的企业文化软件,正是帮助企业塑造、传播和强化自身文化的关键工具。这款名为《企业文化》的软件,以其实用性和便捷性,为企业提供了构建独特文化氛围的有效途径。 企业文化,是企业的灵魂,它包括企业的...
2. **开发环境**:包括使用的计算机硬件、软件工具以及开发流程等,这些因素共同塑造了一个有利于软件创新的环境。 3. **系统**:涉及到参与软件开发的所有人、组织结构、工作流程和技术栈等。良好的团队协作和明确...
一、计算机软件概述 二、装机必备的软件 三、实现特定功能的软件 四、应用软件的安装与卸载 五、技能挑战——文本框与图片
首先,软件开发文档是整个开发流程的灵魂,它记录了项目的每一个阶段,包括需求分析、设计、编码、测试和维护等。文档的清晰度和完整性直接影响到项目的成功与否。例如,需求文档可以帮助团队理解用户需求,设计文档...