简单生活 发表于 2015-1-18 11:17:26

JAVA网站制作之发扬EJB,Spring头脑将组件化举行究竟

大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。<Pstyle="TEXT-INDENT:2em">EJB、Spring,这不是Java界最着名的两年夜朋友,何故把它们扯在一同。实在Spring乃是EJB1.x、2.x的承继者,正如EJB之前的COM、CORBA。他们的头脑一脉相承,那就是企业级的组件化头脑,也可称之为幻想!<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">1、非组件化的国际软件行业<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">各个行业的企业总有一些中心营业,久长坚持稳定,新时代的新营业基础上都是环绕中心营业睁开。很长工夫以来,IT手艺的变更与企业营业的扩大存在着很年夜的冲突。当企业的新营业展开以后,怎样包管原有营业不乱运转的同时,新营业可以失掉IT的撑持与扩大?当IT手艺有严重停顿后,怎样包管原有营业的同时举行新手艺改革?在以上两种活动中,怎样重用原本的手艺功效?这是每位卖力任的体系办理员、CIO与及开辟商所体贴的事变。遗憾的是,组件化头脑及理论发生之前,这个冲突基础上是极难明开的活结。尽年夜多半的做法就是重写。<Pstyle="TEXT-INDENT:2em">比如DOS时期,良多单元都利用了单机foxbase版的财政体系,界面虽简但不乱有用;到了Windows时期,盛行VB、PB,因而体系重写;再到B/S时期,体系再次重写;到比来热炒的RIA,体系是否是要再次重写?关于良多小产商的作品而言,谜底一定是Yes。<Pstyle="TEXT-INDENT:2em">良多同志大概会说,如许恰好啊?我们才能够不休地赢利。错!<Pstyle="TEXT-INDENT:2em">如许的情况叫“低程度反复”,这个术语常常被国人用来痛斥社会经济范畴的良多分歧理征象。惋惜我们这个自以为高智力的行业,良多时分就是在干这类愚事。每到手艺刷新,各企业要重花一次钱、重学一次操纵、重转一次数据,折腾得半逝世;而顺应不了新手艺的产商,随被减少的代码一同加入市场;顺应不了新手艺的程序员,只能转行。要想不被减少,就必需紧跟时期风潮,一直地把精神放在新手艺上,在了解营业上花的工夫太少,最初招致我们的体系与企业的营业老是差半拍。由于本来快把营业弄分明的程序员年夜多升官或去职了。<Pstyle="TEXT-INDENT:2em">笔者觉得这是软件界,特别是国际软件界凌乱的基本手艺缘故原由。因为手艺临时得不到堆集,我们不能不一次又一次吃本国的人剩饭。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">那我们毕竟必要如何的软件才干办理这些成绩。<Pstyle="TEXT-INDENT:2em">实在谜底早就在我们身旁晃了太多年,恰恰我们置若罔闻。人人接个新外设,要不要换主机?加根内存条、换块显卡、声卡要不要换主板?OS是否是只能用几个特定的硬件,跑几个特定的程序?而人人在OS下写的程序,是否是在体系新版本运转不了?谜底基础上是不是定的。<Pstyle="TEXT-INDENT:2em">OS能够顺应全球数以万计的程序及其开展,为何我们的使用程序不克不及顺应哪怕一个特订单位的变更和开展。为何我们的使用体系到了新情况下就要重写?<Pstyle="TEXT-INDENT:2em">缘故原由就在于我们年夜多半使用程序标准性太低、耦合度太高。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">要进步标准性、下降耦合度,就要不休地计划、不休地分层、不休地笼统、不休地重构。当我们终有一日把有效和成熟的代码封装成jar或是dll,不但本人能重用,他人也能重用的时分,代码实在才算及格。<Pstyle="TEXT-INDENT:2em">如今人人都习气用开源产物了,本国人热中的就是不休地打造如许的零件(组件)或手艺。而我们中国人,热中的倒是组装人家的零件和手艺(一如别的触及手艺的家产)。良多本国人十多岁就做出了了不得的组件,而我们中国人却把“不反复创造轮子”这类搬来的话挂在嘴在,了局是既不打造旧轮子,更没有才能创造新轮子。良多人从业十多年都写着乱糟糟代码。<Pstyle="TEXT-INDENT:2em">项目,不是说工具扔到客户手上套足了钱,拍拍屁股就走人。乐成的项目,要对客户卖力任。就算本人退了,也该把事情交代好。后面的事情功效前面用不上,只能说后面的事情分歧格。<Pstyle="TEXT-INDENT:2em">国际使用软件界一向在走RAD的路途,一入手下手吃着爽,越到前面越不是味道。不是说RAD不克不及用,而是说,一下去就RAD,必定被养成懒汉,日夕沉溺成编码呆板。RAD诱使我们回避思索,诱使我们回避计划,终极让我们被早早减少!<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">2、EJB、Spring的组件化理论<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">在EJB之前,人人所知的COM和CORBA已然火过一头了。这申明外洋企业在经由长工夫的信息化理论后,已深受下面所说“低程度反复”的非组件情况之苦。COM和CORBA切实其实办理了一些成绩,但还没有成为那种完全、成熟的系统。以是现在EJB出来的时分,业界猖狂热炒。这一方面是贸易缘故原由,更主要的是企业及开辟者对组件化的热切幻想。实在EJB切实其实是乐成地办理了良多成绩,但因为一入手下手就定位在高端,手艺上相称庞大,招致浩瀚开辟者真正未能把握,由此而发生了良多失利的项目。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">这个时分,MS的.NET入手下手热了起来。.NET实在全部头脑系统都是参照J2EE的。不外因循了MS产物一向的易用作风,中小体系完成对照简单。凡是事有益有弊,MS为了投合初学者偷懒的心思,架构上的RAD作风是相称分明的。良多人不知不觉中又被养成了懒汉。这招致良多开辟者拿着.NET这类OOP的企业级手艺,持续做已往那些高耦合的体系。终极了局,不管是开辟者仍是公司,都将重蹈以上笔者所说的复辙。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">应当说,J2EE一下去就强迫开辟者思索OOP、分层、解耦、重用,这些很庞大但最主要的事变,终极一定后落得个“曲高和寡”的了局。但假如开辟者真能以程序计划作为本人的一生奇迹,就必定能够在Java的天下里经由疾苦探索,把握软件的精华。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">尔后,炽热的Spring活动入手下手了。Rod集多年企业级开辟的功力,制造性地创始了简化版的EJB:SpringFramework。这里有个条件,那就是Rod多年企业级开辟的理论,包含EJB的理论。恰是这个精晓EJB的天赋人物,才大概对EJB举行简化和发扬。国际良多人自此活动后,把EJB以致于Sun描述得一文不值,却忘了本人天天都在用Java这一巨大的言语,并理论EJB这一手艺所传承的组件化头脑。而初学者在不明就里的阶段,只记着了Spring的简化,却不知理论组件化的本源地点。也就是说,不是Spring欠好,而是说人人应当充实了解Spring所一脉相承的组件化解耦头脑,而不但盯住Spring的简化。<Pstyle="TEXT-INDENT:2em">自此,Java界入手下手了无尽的凌乱。人们天天都在思索怎样“简化”J2EE,以致于把J2EE简化到Web+DB,简化到PHP那样高耦合的水平,大概骑墙式的RoR。汗青再度发展,组件化面对严峻危急,乃至于保持组件化的Java也被殃及池鱼。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">这里不能不夸奖一下Jdon和当家人banq。实在有一阵笔者也是Spring活动的热情反对者,对banq的EJB论调相称不伤风。待本人蒙头转向了两年,重回jdon,这才体味到banq的苦心。<Pstyle="TEXT-INDENT:2em">正如尽人皆知的英语进修无捷径,好的程序计划一样没有捷径。<Pstyle="TEXT-INDENT:2em">banq这几年冒世界之年夜不韪,几回再三保持重申这个人间最复杂的真谛,切实其实是值得佩服的。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">3、保持组件化,打造真实的软件产业<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">软件开展到明天,实在应当而且可以进进到产业时期了。<Pstyle="TEXT-INDENT:2em">后面所说的企业软件危急,既是手艺成绩,也是家产成绩。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">明天,地球人的各类家产都是年夜合作、年夜互助的产业化家产链。临盆效力进步了,失业人群也随之增添。在封建时期,人人都弄小作坊和行会,总以为假如摊开了,合作后人人会没饭吃。但本钱主义的理论标明,越是合作互助水平高的家产,范围越年夜。缘故原由很复杂,在临盆效力进步的同时,消耗被极年夜地安慰,以致于家产收缩的速率仍赶不上消耗。像如今的汽车,合作互助水平极高,使兴旺国度的人们买了一辆再买一辆,换了一辆再换一辆,了局是全部汽车家产的昌盛。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">我们软件业(尤以国际为甚)实在也一样,外表上是没事可做,现实上是因为软件业全体的低效力,招致人们用不起软件,或不敢用软件。整天忙于低程度反复招致的低程度部分合作,企业真正体贴的良多需求得不到满意。久长以后企业在信息体系失掉的报答太小,天然不肯意费钱在信息体系上。<Pstyle="TEXT-INDENT:2em">实在年夜多半开辟职员和开辟商,都想充实满意客户的需求。惋惜你几十号人,打个例如,假如从种橡胶、挖铁矿、到计划车型,焊接,倾销。甚么都要做,只怕是连小推车也造不出来的。<Pstyle="TEXT-INDENT:2em">以是我们必定要合作互助。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">如今电脑有了,OS有了,DB有了,编程言语有了,这些最难做的基本事情本国人都做了。但进进企业级范畴仍有没有数的事情在等着你。国人在这一点上缺少互助精力的劣习原形毕露。明显只是精晓营业,非要对计划指手画脚;不外是剖析专家,非要对不熟的手艺挑三捡四;明显能够相沿原体系的精髓部分,非要交换以示拙劣;更有不懂事的毛孩子,自觉得能够用RAD弄定统统。良多国人的牛人都一种广泛的“超人”认识,老子世界第一,其别人都是渣滓。却不知软件业太年夜太庞大了,再老手的同志,也有良多你不晓得的主要常识和奇思妙想;再高的所谓年夜虾,也有没有数的盲点和鄙意。<Pstyle="TEXT-INDENT:2em">以是要合作互助,必定要学会尊敬别人,脚踏实地。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">至于手艺上的成绩,实在以笔者鄙意。最少spring已基础上办理了“解耦”的严重困难。人人只需不偷懒,把自已写的、他人写的、书上看的,网高低的,好好揣摩透了,以spring这类大致上“无侵进”的框架拆卸起来,便可基础上办理组件化的困难。<Pstyle="TEXT-INDENT:2em">至于EJB,包含如今相称简化了的EJB3,因为笔者所知甚浅,方便多述。看妙手指导。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">每个程序员,不要想偷懒,勉力理论解耦本人的代码。<Pstyle="TEXT-INDENT:2em">每个开辟商,不要太深谋远虑,要勉力提炼产物的类库,全力与其他产商互通互联。<Pstyle="TEXT-INDENT:2em">每个体系办理员、CIO和企业向导更要服膺:高耦合的体系不克不及要、无类库封装的体系不克不及要,无测试的体系不克不及要、无类库文档的体系不克不及要。如许才能够根绝国际深谋远虑的低程度软件横行市场,早日迎来中国软件的组件化时期,构成安康、有秩、高效的软件行业。

市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。

柔情似水 发表于 2015-1-20 19:27:44

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

简单生活 发表于 2015-1-25 22:23:01

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

小魔女 发表于 2015-1-28 08:44:04

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

金色的骷髅 发表于 2015-2-5 13:53:03

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

飘灵儿 发表于 2015-2-11 22:54:58

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

若相依 发表于 2015-2-26 07:22:32

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

兰色精灵 发表于 2015-2-28 16:13:33

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

第二个灵魂 发表于 2015-2-28 19:16:13

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

冷月葬花魂 发表于 2015-3-1 21:43:46

是一种语言,用以产生「小应用程序(Applet(s))

若天明 发表于 2015-3-7 10:55:03

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

分手快乐 发表于 2015-3-9 01:54:26

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

乐观 发表于 2015-3-16 19:58:45

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

海妖 发表于 2015-3-23 00:03:42

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
页: [1]
查看完整版本: JAVA网站制作之发扬EJB,Spring头脑将组件化举行究竟