昨天一同学问我现在开发中用哪些技术?有些惭愧,虽然我一直有去学习或了解一些新技术,但真正用到项目开发的比较少,我的习惯是学习它们的一些思想,它们的架构。
现在Spring很流行了,但我一直只用它的最基本的功能,IOC,别的没用过,什么AOP我也只是了解过,一些社区也不少人说它很好用。但我至今也不为
之动心,我觉得现在用它的人还是比较少的,如即使我把它用好了,但如果哪天我的代码交给别人来维护时,如果他们没有接触过的话,对他们来说就增加了维护难
度了。
现在ORM技术也是一个非常热门的话题,这方面的框架也很多,这些框架给程序员带来了些方便,但同时也带来些学习压力,这些框架都不是一两天能学好的。而
且也不一定能真正用好它,最后造成很多问题,可又不知道问题出在哪里,如何去解决它,因为这些是开源的框架,也无法得到一些技术支持,只能自己到网上找些
同僚们是怎么解决的。此时只能耐心地google了。我原来一家公司就用hibernate,经常出现内存泄露,公司集中了大量的人力(找了高好几个高手
去找问题)和物力(给服务器加内存),可到最后还是没有解决这个问题,最后的办法是,定期重启一下JBoss。像hibernate之类的技术,听说在外
包企业中用得比较多,因为它确实可以提高开发效率,而我这人比较追求系统的稳定,所以我自己负责的项目,我从来不用它。
我觉得我们工作不是为了”追时髦“,看到别人用了新技术后,就去跟风。我们一定要去深入了解它,最后再做决定。如果你确实认可它,那就使用它,也是不错的”拿来主义“。我就很喜欢Log4J,它可配置性强,使用起来简单方便,而且学习起来也很容易。
在ORM方面,我一直还是喜欢自己能过SQL语句来操作数据库,因为我们在一个系统中,对一个表的操作一般也就是一些简单的CURD,这些语句完全可以只
写一遍,然后复用它。而遇到一些统计报表用的SQL语句时,也没有ORM可以帮助你,索性还不如不用ORM。
有的人说,ORM在实现数据库移植方面很有帮助。确实它在这方面做得挺不错的,但是在我们实现项目中出现更换数据库的可能是非常之小的,至少我没有遇到过
这样的项目。如果确实有这方面的需求,我们也不用考虑太多种数据库,三种以内就足够了,所以如果是我们手工写SQL语句也不会增加太多的工作量,我们只有
在以下两种情况下要考虑区分SQL语句:
一、insert into 时,如果要返回主键值时;
二、使用非通用函数时。
经常这几年的经验积累,在数据库操作方面我也已经开发了一套自己的框架,为了提高开发效率,我也针对这个框架开发了一个代码生成工具。
最后总结一下,我们要选择一种技术一定要考虑以下几点:
一、学习曲线,尽量选择学习周期短的技术。如果学习同期长,有那个学习时间,估计自己都已经开发一套餐更适合我们自己需求的框架来了。以后系统维护的工作指不定会交给谁来做,所以如果选择的技术 学习曲线长,那就会提高维护成本。
二、易用性,如果不容易使用,不但不能提高开发效率,反而影响我们的项目进度。
三、稳定性,一个系统最重要的是稳定,如果经常出问题,谁都不想用的。
最近一直在学习《走出软件作坊》,作者的一想做法确实很值得学习。
最后为了说明我的想法,在我的博客中的《在JDK 1.5中实现真正面向对象形式的SQL语句3 (含有源码,代码生成工具)》
是有实践中行动之一。。。
分享到:
相关推荐
### 计算机软件开发规范_GB_8566-88 #### 一、标准概述 《计算机软件开发规范_GB_8566-88...同时,选择合适的开发模型也是至关重要的,不同的模型适用于不同类型和规模的项目,合理选择可以帮助项目更加顺利地进行。
- **迭代计划会(Sprint Planning Meeting)**:每个Sprint开始时进行,团队与产品负责人一起讨论即将进行的Sprint的目标,并从产品待办事项列表中选择合适的工作项。 - **每日立会(Daily Stand-up Meeting)**:每个...
以井冈山西部萍乡市泰华养殖场区域大中型沼气能源工程为例,针对其中沼气能源工程系统开发系列实际问题,通过表函数和选择函数等多种形式函数的结合, 建立系统动力学仿真方程,用沼气开发和应用子仿真模型逐步建模法对...
综上所述,《基于LabVIEW的ARM Cortex-M3嵌入式开发宝典---STM32F103》是一本全面且实用的手册,旨在帮助读者掌握STM32F103系列微控制器的嵌入式开发技术。通过详细介绍软件工具、硬件资源以及各种模块的驱动实现...
标题和描述中提到的知识点主要包括: 1. Google官方Android开发教程的翻译版本: - 这些教程是根据Google Android开发者官网的Training教程翻译而来,目的是为了帮助那些英文阅读能力有限的开发者更好地理解和学习...
开发者需要掌握Hybrid App或原生App的开发技术,如React Native、Ionic或Swift/Objective-C,以实现跨平台的用户体验。 7. **测试与调试**:开发完成后,对软件进行充分的测试是必不可少的。开发者应了解单元测试、...
- **软件开发工具**:选择合适的IDE和编译器,充分利用Cortex-M4的硬件特性。 ### 结论 Cortex-M4作为一款高性能的微控制器内核,在众多领域都有着广泛的应用前景。通过对本技术参考手册的学习,开发者能够更好地...
### 开发技术选择四部曲教程 #### 一、引言 在当今快速发展的IT行业中,选择合适的开发技术对于项目的成功至关重要。一个错误的技术选择可能会导致项目延期、成本增加甚至是失败。因此,开发者需要掌握一套有效的...
ARM-Cortex-M底层技术是关于ARM公司Cortex-M系列处理器的深入探讨,涵盖了半导体工艺、集成开发环境(IDE)、工具链、分散加载、启动代码以及硬件设计等方面。Cortex-M系列处理器是专为嵌入式应用设计,具有低功耗、...
### Cortex-M0技术参考手册知识点解析 #### 一、Cortex-M0处理器概述 Cortex-M0是一款由ARM公司设计的精简指令集计算(RISC)微控制器内核,适用于低成本、低功耗的应用场景。它具备了ARM Cortex系列处理器的一些...
Cortex-A55的设计目标是在保持高性能的同时,实现更高的能源效率,使其成为中低端市场的理想选择。 2. **大小核设计**: Cortex-A55通常与高性能的Cortex-A75或更高级别的核心一起,作为Big.Little架构的一部分,...
### UG585 - Zynq-7000 SoC 技术参考...通过这份技术参考手册,用户不仅可以深入了解Zynq-7000 SoC 的内部架构和特性,还能获得宝贵的实践指导,这对于从事嵌入式系统设计与开发的专业人士来说,无疑是一份宝贵的资源。
作为ARMv7-A架构的一部分,Cortex-A7旨在提供高效能计算能力,同时保持极低的能源消耗,使其成为低成本和电池寿命敏感应用的理想选择。 Cortex-A7的设计采用了多级缓存系统,包括L1数据缓存、L1指令缓存和L2缓存,...
### NC-UAP客户化开发培训实例教程V5.X ...以上内容概述了《NC-UAP客户化开发培训实例教程V5.X》中的关键知识点,涵盖了从产品入门到高级功能建模的各个方面,旨在帮助读者全面掌握NC-UAP开发的核心技术和实践方法。
通过以上这些知识点的介绍,《iOS开发进阶》这本书旨在帮助初级开发者快速掌握iOS应用程序开发的核心技术和最佳实践,并能够通过实战项目进一步提升自己的技术水平。无论是对于想要深入了解iOS开发细节的专业人士...
**Z-stack开发指南-中文翻译-未纠错...同时,由于文档未经正式校对,建议在实际开发中结合原始英文资料,以便获得最准确的信息。如果有任何疑问或发现翻译错误,可以通过邮件topeak001@163.com联系作者进行交流和指正。
"程序开发图标"这个压缩包文件提供了超过1600个图标,覆盖了程序开发可能涉及到的各种场景,使得开发者在设计用户界面时能有丰富的选择,提高产品的用户体验。 首先,我们来深入了解图标在程序开发中的应用: 1. *...
【软件开发技术复习知识点】 1. **软件工程的定义与三要素** - 软件工程是指在计算机科学、数学和管理科学等原理的基础上,采用工程化的方法来开发和维护软件,旨在提高软件的质量、降低开发成本。其三要素包括: ...