<b>当前Java软件开辟中几种熟习误区</b>[Java编程]
本文“<b>当前Java软件开辟中几种熟习误区</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
越来越多人开始利用Java,但是他们大大都人没有做好充足的思惟预备(没有承受OO思惟体系相关培训),乃至不能很好驾御Java项目,乃至招致开辟后的Java系统性能迟钝乃至常常当机.很多人认为这是Java复杂招致,其实根本缘由在于:我们原先掌握的关于软件知识(OO方面)不是太贫乏就是不得当,存在熟习上和办法上的误区.
软件的生命性
软件是有生命的,这大概是老调重弹了,但是因为它事关分层架构的原由,反复夸大都不过度.
一个有生命的软件首先必须有一个机动可扩大的底子架构,其次才是完好的功效.
目前很多人对软件的思惟还是核心落在后者:完好的功效,认为一个软件功效越完好越好,其实关键还是架构的机动性,就是前者,底子架构好,功效增添只是时间和工作量问题,但是假如架构不好,功效再完好,也不大概包含将来全部功效,软件是有生命的,在将来生长时,更多功效需求加入,但是因为底子架构不机动不能便利加入,死路一条.
正因为常人对软件存在短视误区,对功效追求高于底子架构,很多吃了亏的老程序员就此脱离软件行业,带走贵重的失利经验,新的盲目的年青程序员还是利用老的思维往前冲.其实很多国外免费开源框架如ofbiz compiere和slide也存在这方面陷阱,貌似非常符合胃口,其实近似国内那些几百元的盗版软件,扩大性以及持续发展性严重不足.
那么挑选目前一些风行的框架如Hibernate、Spring/Jdonframework能否就表示底子架构打好了呢?其实还不尽然,关键还是取决于你若何利用这些框架来搭建你的业务系统.
存储历程和复杂SQL语句的陷阱
首先谈谈存储历程利用的误区,利用存储历程架构的人认为可以办理性能问题,其实它恰是招致性能问题的罪魁祸首之一,打个比方:假如一个人频临死亡,打一针可以让其延伸半年,但是打了这针,其他全部医疗筹划就全部失效,请示你会利用这种短视筹划吗?
为什么这样说呢?假如存储历程都封装了业务历程,那么运行负载都集合在数据库端,要中间J2EE利用服务器干什么?要中间服务器的分布式计算和集群本领做什么?只能回到过去集合式数据库主机时代.目前软件都是面向互联网的,不象过去那样范围在一个小局域网,多用户并发拜候量都是无法肯定和衡量,依靠一台数据库主机明显是不可以承受这样卑劣的用户拜候环境的.(当然搞数据库集群也只是五十步和百步的辨别).
从分层角度来看,目前三层架构:表现层、业务层和长期层,三个层次应当分割明显,职责清楚:长期层职责长期化保存业务模子对象,业务层对长期层的调用只是帮忙我们激活曾经拜托其保管的对象,所以,不能因为长期层是保管者,我们就以其为核心环绕其编程,除了要求其偿还模子对象外,还要求其做其做复杂的业务组合.打个比方:你在火车站将生果和盘子两个对象拜托保管处保管,过了两天来取时,你还要求保管处将生果去皮切成块,放在盘子里,做成生果盘给你,公道吗?
上面是谈过度依靠长期层的一个现象,还有一个恰好相反现象,长期层披发出来,开始挤占业务层,腐化业务层,整个业务层处处瞥见的是数据表的影子(包含数据表的字段),而不是业务对象.这样程序员应当多看看OO经典PoEAA.PoEAA 认为除了长期层,不该该在其他地方看到数据表或表字段名.
当然适当利用存储历程,利用数据库长处也是答应的.按照Evans DDD理论,可以将SQL语句和存储历程作为法则Specification一部份.
以上是“<b>当前Java软件开辟中几种熟习误区</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |