使用SSH到底是为了快速开发,还是为了标准?
使用SSH到底是为了快速开发,还是为了标准?
使用SSH到底是为了快速开发,还是为了标准? 重点是为了什么,别说两者都有.小点的项目我用JavaBEAN+SERVLET+JSP也能完成,规范可以加上DAO+SERVICE实现,速度也不会太慢.为什么都要用SSH开发呢?
主要是为了快速开发,配制方法,维护方便。“小点的项目我用JavaBEAN+SERVLET+JSP也能完成,规范可以加上DAO+SERVICE实现,速度也不会太慢 ” 做个大点的试试就知道了。
那首先要了解ssh的分工和其优势。
Struts:一个jsp+servlet+Javabean的完美体现,MVC的最好诠释。
HIBERNATE:把面向对象的dao层操作,ORM映射,数据的可移植,有自己的缓存。
spring:一个多扩展、灵活、容入了多种设计模式、面向对象编程思想的容器。
SSH的集合其实是表现层、dao层、逻辑层的明确分工,对于项目的开发和后期维护带来的积大的方便。
对于小项目这样的结合反而会很糟糕,因为维护成本比较高。
而对于中型项目这样的结合便于整个项目的开发。
这里struts看作是表现层、hibernate看作是DAO层,spring作为一个核心容器。
至于性能一般体现不出来,但遇到庞杂的数据操作和业务逻辑其性能才会体现。
所以JavaBEAN+SERVLET+JSP和SSH其性能的可比性要根据项目需求不同来定。
SSH的结合 才是真正MVC的组合模式的完美体现。SSH这种东西你喜欢就用,不喜欢就不用,没有人说一定要用.构架也很多,用其它的也很多.
标准也是相对的,比如一家公司都使用jsp+bean方式,你去用ssh开发对于公司来说当然就不标准了.
反之一样.很多人都是人云亦云的说他好,在用ssh,就如同大广告一样,听多了,用的人多了.也是是它了.我觉得SSH开始之所以应用如此广泛,还是因为其流行。我在很多小公司待过,凭心而论,很多项目根本没有用SSH的必要。但是如果项目会不停的扩展,应用不停的做大,SSH就可以彰显出它的优势了。
而且,当使用习惯了SSH之后,我觉得可以节省我们对架构的思考时间,进而节约成本,毕竟对于很多的小公司,只有赚钱才是硬道理。
最后,用SSH,你可以跟客户说,我们用的是时下最流行的技术开发,也许……我认为 SSH 并不是快速开发,也不是标准的。
至于为什么流行?人云亦云的结果!
采用Spring需要有大量的配置的文件,而且不管有用没用都去整个接口出来,不管是什么业务代码都交给IoC容器去管理,
我想有大多数人都是先写类再写接口的,为了接口而接口。
试想一下,就目前中国的软件开发来说,使用 Spring 就真的能符合 OCP 的要求么?增加一个新的功能,能做到不去改动既有的代码么?ssh很好是万能的。
如果用JavaBean+servlet+jsp开发就有很多问题。
1。国际化不好实现,现在很多项目都要求有简体,繁体,英文版。所以用上struts比较好。
2.如果用jdbc操作数据库很麻烦,如果是crm,erp系统数据库表一般很多,
有些表字段也很多,你写sql估计要写的手都酸了。如果需求有改变。要增加几个字段。改动也不小,如果项
目中有人喜欢用select*from那就更麻烦。所以用上hibernate会很好。
有一些查询比如说表中关联的是ID,显示的时候要用名称,这时你还要写连接查询sql,显示的时候还要为这个
list再写一个Javabean,但hibernate中就不用这样实现,直接可以查,
3一般模式一般不好实现事务管理,也许有很多Javabean+servlet模式开发的项目根本没有做事务控制。
当然也可以用Java中的动态代理实现,但在导异常处理上spring还是不错的。