关于项目SSH 框架的一点想法

1、我们项目中使用spring,主要是使用了其依赖注入,简单的说是为了类的解耦,以提高复用性。但问题是:

我们在公卫平台中写的这些类有复用的地方吗,相反,为此我们引入了一堆第三方的东西,一堆配置文件,我们的公卫平台貌似没那复杂哟;

2、为了使用spring,我们定义了一推接口,接口是用于抽象的,用于多态的目的,我看不出我们程序当中有多少多态的东西;既然无多态,为什么要搞那么多接口呢

3、也许有人会说,用spring结构层次清晰,spring工厂很强大,但是,这有更为简单的方法例如服务定位、单例的使用、代理的使用可以加以解决,为什么要用spring呢

4、可能有人会说,大家约定都这么做,有个开发约定的问题,我认约定的问题要靠包的命名、类的命名、变量命名规范、注释、代码规范等来加以解决;

5、sping可以控制类是单例的,但是我们平台项目很多地方没有加入控制,在某些情况下,我们平台运行存在内存溢出的风险;

关于我们项目中struts的应用,

Struts是个MVC结构的东西,

Struts提供丰富的JSP标签库:Html,Bean,Logic,Template等,这有利于分开表现逻辑和程序逻辑。其初衷是方便美工与开发人员协同工作,在一个页面上完成全部设计,但实际情况是页面几乎都是由开发人员完成,而且提供的标签和struts耦合,这对页面复用可没啥好处,更何况我们项目貌似也没用struts2的标签吧,那这一部分的好处我们用不着;

struts2的控制器分为数层:

核心控制器:我们的项目只让它起到一个分发请求的作用,action还的在struts.xml记录,把action写在配置文件当中,其初衷是action可配置,问题是我们项目有这样的需求吗,页面跳转的东西也是类似的。

所谓SSH轻量级框架,对于我们这样的项目而言一点都不轻量级,我们不仅需要维护代码,还需要维护繁琐的xml配置文件,无配置文件而能实现的框架功能的东西还是比较容易设计的

我并不是一味的反对使用SSH框架,SSH在我眼里主要作用是规范开发,我们平台项目,无复杂业务,是对于我们这样的小团队而言从技术经济和可靠性出发完全可以选择更加简洁的框架,早日抛弃SSH框架选择更简洁的技术在对我们这样规模的团队开发是一种比较明智的选择。

相关推荐