技术架构的选择-基础框架
入职后不久,我们研发部展开了一次又一次的头脑风暴。
会上各抒己见,气氛良好,并且在主持人的引导下,逐一敲定,并落实到人头上。不过在基础框架
这一块显得相当棘手,也是争论最多的一块,由于这部分是技术体系的基础,因此针对基础框架的选择,决定在让同志们利用2个月的时间再次好好调研后再次碰头。这一天终于来了。
2011年9月。是SSH、SSI、还是SSHI?实际上就是在选择是用HB还是iBatis。
觉得要采用iBatis的论点如下:
我仍然还是觉得用HB不如用iBatis,CSDN主持人也曾经表示,如果你们公司没有HB大牛那就不要用HB。这个东西太难上手了,光看指南就得很长时间。iBatis就不同,直观大方,易上手,而且还安全。
对对,我也建议废掉HB,iBatis易于上手,拿来指南不到一个礼拜就可以掌握了。而且,iBatis在sql文优化方面也很直接,易触摸掌握。
说到sql,一般情况下iBatis的效率要比HB高。HB用得不好的话经常出现内存溢出的问题,iBatis基本不会出现该问题。
我选择用iBatis,主要是写的SQL语句,基本可以直接拿到数据库上去执行测试。
我选择用iBatis,虽然Hibernate所谓的OO,但是有多少系统是真正使用的OO方式来设计和实现的呢。
觉得要采用HB的论点如下:
Hibernate 对于熟悉它的人,是一样非常好的工具,Hibernate 的作者也说过,只要是 Hibernate Team 的人,做出来的系统肯定性能不会差~ 但是不熟悉的人就很难说了~ 我建议使用它的人还是读读它的代码,别盲目使用。很难相象一个程序员,对它的工具做了什么都不知道,还能用好它。
我觉得,只是我们以前没有用好,造成了系统性能有问题,刚才说的内存溢出什么的。因此这不是HB本身的问题,是我们使用者的问题!如果说HB难所以我们使用的时候出现了问题,那么你怎么能够保证iBatis使用的时候不会出现问题呢
不管是ibatis还是hibernate归根结底还是对数据库访问。用得好的话,就算不考虑cache hibernate是不会比ibatis慢的。
hibernate查询方面提供了多种查询方式,如criteria,hql,native sql,只要灵活应用,基本上能涵括数据库查询的需求了
用iBatis能做的东西hibernate都能做,可是iBatis却不是面向对象的。
使用OO,在维护时才会发现好处;使用框架,也是在维护时才会发现好处。越是大项目越是如此,面向过程使得过程间难于解耦,系统扩展起来比较痛苦,咱们上一个项目就是面向过程的,现在改为面向对象了。
觉得两者都行的论点如下:
我hibernate用了2年,使用过程中也碰到过很多乱七八糟的问题,或者解决或者绕过了。ibatis看了一个晚上,大致了解。如果让我在ibatis和hibernate都不熟的基础上对项目的orm框架做选择,我应该会选择ibatis而不是hibernate。不过在对hibernate比较熟悉的情况下确实是选择hibernate开发效率会高。
待续。。。
分享到:
相关推荐
- **技术架构支撑功能架构**:技术架构为实现功能架构提供了必要的技术支持,例如通过选择合适的数据库技术来支持数据存储和检索的需求。 - **相互制约与协同**:两者之间存在着密切的互动关系。一方面,功能架构的...
ADM方法论包括了八个阶段:架构愿景、业务架构、信息系统架构、技术架构、机会及解决方案、迁移规划、实施治理和架构变更管理。这些阶段为组织提供了一条清晰的路线图,帮助组织构建和维护一个灵活且可扩展的企业...
此资源需要有java基础的人才能看懂,里面内容很丰富,资源包括分布式框架 缓存数据库 权限框架 还有一些项目,共有差不多150G左右,需要自己找相对的资源,
然后基于传统 Servlet 框架搭建一款轻量级 Java Web 框架,一切都是从零开始,逐个实现类加载器、Bean 容器、IoC 框架、MVC 框架,所涉及的代码也是整个框架的核心基础。为了使框架具备 AOP 特性,从代理技术讲到 ...
微服务架构的基础框架选择是一个关键决策,涉及到项目的技术栈、维护成本和长期发展。本文将对比分析两个热门的微服务框架——Spring Cloud和Dubbo,分别从背景、社区活跃度和架构完整度三个方面进行深入探讨。 ...
框架与架构的区别在于,框架是一种预定义的软件结构,可以作为构建特定应用的基础,而架构则更侧重于整个系统的宏观设计。架构设计的目标包括控制复杂性、支持业务目标、促进团队协作、优化开发流程,以及满足迭代...
4. **技术架构**:着重于选择合适的技术栈以支撑上层的业务与应用架构,包括基础设施、中间件以及相关的技术策略。 白皮书通过提出现代企业架构框架,提供了一种应对数字化转型、业务平台化、智能化和云计算挑战的...
在IT行业中,构建可伸缩的服务架构是现代企业级应用的关键。"源码-可伸缩服务架构-框架与中间件.zip"这个压缩包显然包含...通过研究这些源码和框架,不仅可以提升技术能力,还能为实际项目中的架构设计提供参考和灵感。
它将涵盖系统架构的选择理由、关键技术的介绍、问题解决策略以及未来改进的方向。通过论文,开发者可以了解到理论与实践相结合的思考过程,提升自己的系统设计能力。 五、学习与实践 这个资源包对于学习Java系统...
4A平台技术架构,即账号(Account)、认证(Authentication)、授权(Authorization)和审计(Audit)平台,是目前业界广泛认可的一种安全服务基础设施。它通过集中的账号管理、认证管理、授权管理和审计管理,为...
技术架构规划的内容框架包括业务架构、应用架构、信息架构和技术架构四个方面。业务架构是指集团公司的业务流程和组织结构,应用架构是指集团公司的应用系统和数据流程,信息架构是指集团公司的信息资源和数据管理,...
通过阅读《架构探险-从零开始写Java Web框架》,开发者可以提升对Java Web开发的整体理解,从底层原理到实践应用,为构建自己的Web框架打下坚实基础。同时,这也是一种很好的学习方式,通过动手实践来深入掌握复杂的...
标题中的“20计科1班-202035010111-冯昭雄-web框架技术大作业”表明这是一个关于web框架技术的大学课程作业,由学生冯昭雄完成,可能涵盖了2020学年计科1班的相关教学内容。这个作业可能包括了理论学习和实践应用两...
在IT行业中,项目搭建是开发过程中的重要环节,它涉及到技术选型、框架选择以及项目结构的规划。本文将详细探讨“健康项目”的前期准备,包括PowerDesigner的使用、前端框架的选择以及项目架构的初步设计。 首先,...
《架构探险:从零开始写Java Web框架》首先从一个简单的 Web 应用开始,让读者学会如何使用 IDEA... 《架构探险:从零开始写Java Web框架》适合具备 Java 基础知识,熟悉 Web 相关理论,并想成为架构师的程序员阅读。
现状调研则是对集团企业当前IT技术架构的全方位分析,包括基础设施、应用架构、数据架构和信息安全管理等各个方面,为后续的技术架构设计提供客观依据。 3. 技术架构设计原则、方法和参考 技术架构的设计原则通常...