了解下JAVA的用Rails创立高质量Web使用
ruby里有这些工具吗?又要简单多少?我没有用过这两门语言,我估计在这些语言力没有很统一的这种标准,或者根本就没有提供。愈来愈多的企业入手下手选择Rails作为Web使用的框架。Rails已经还次要是一些轻公司的选择,但明天一些“重”企业(好比保险、金融等行业的企业)也入手下手把Rails归入外部使用乃至内部使用的思索局限。我比来服务过的客户是外洋某年夜型保险公司,该公司就选择了Rails来创立他们的保险发卖网站。
选择Rails的缘故原由,是由于它疾速构建的才能,是由于它是Web开辟的DSL。可是否选择了Rails就代表了高效开辟?是不是在Rails上创立的Web使用就必定是高质量的?谜底是不是定的。从我介入过的几个Rails项目来看,质量可谓是乱七八糟,开辟速率也是判若云泥。而开辟的效力低下的缘故原由,则经常是使用自己质量的低下和计划的低劣。
在本文中,我将一一会商几个影响Web使用质量的要素。同时,我们也能够从中意会到Rails为创立高质量的Web使用所做的勉力、它的各类计划给我们的启发,和Rails3的改善所代表的意义和趋向。
MVC
我们都晓得Rails是一个MVC架构形式的Web框架,MVC各部分的职责也很分明。但成绩在于我们是不是真的遵守了MVC架构形式做到了各部分职责的明白分别?是不是遵守了单一职责的准绳?
在年夜多半代码内里,这类浑沌不清的形态存在于model和controller之间:controller承当了太多本应由model承当的职责。个中对照典范的例子是内嵌(多)对象表单。好比,Album和Photo之间是一对多的干系,我们要创立一个含有多个photo的album。在Rails2.3之前,我们大概会写出相似的代码:
AlbumsController
def create
album = Album.new params[:album]
album.photos << Photo.new params[:album][:photo]
...
假如是一个触及更多品种型对象的表单,这里的代码大概会加倍庞大。但在AlbumsController内里,我们真正想体贴的只是Album的创立,而不是Photo或别的联系关系对象的创立。并且从Album的角度看,创立过程当中photo跟别的attributes没有区分,应当失掉分歧地处置。
Rails2.3以后,我们就能够很复杂地到达这个目标。在Album内里做如许的声明:
class Album < ActiveRecord::Base
...
accepts_nested_attributes_for :photos
end
然后,controller中的代码就能够被简化为:
AlbumsController
def create
album = Album.new params[:album]
...
从这个例子中能够看到Rails在促进MVC三部分之间职责明白上所做的勉力和前进。良多人大概会说,我们的代码没有如许的成绩。但MVC三部分之间职责入手下手含混,常常呈现在营业逻辑变得庞大以后。我们应当常常审阅我们的代码,做到真实的职责单一。
<p>
j2EE和asp比较,其实也没什么比的,原因和我上面说那些比较差不了多少,也是稳定性,安全性,J2EE比asp高,速度上比不过asp,asp也是延续着它的拖拽控件的方法,提高速度。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 是一种为 Internet发展的计算机语言 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
页:
[1]