您的位置:首页 > 运维架构 > 网站架构

搞有中国特色的SOA(面向服务架构)——6

2006-11-15 09:15 561 查看
    ****我为什么不使用Struts
    我对Struts的反感是与生俱来地,呵呵,开个玩笑。
    Struts作为MVC的框架优点就不要我来说了,说的太多了,我就说些我自己的比较偏偏的观点,Struts的坚定拥护者如果想看看正面言论,去网上找吧,多的很。

    我最讨厌Struts的两点,一个是配置文件,一个是标签库。
    配置文件那是极其讨厌的,不但麻烦而且效率低下,运行期的反射让人一看到就觉得慢。如此大量的配置文件,注定难以在大型项目上应用。我早年作一个大项目(2300w左右),当时就是使用了部分Struts,慢的难以忍受。不知道我现在怎么了,看到.do就觉得这个网页可能刷不出来,看到.jsp就觉得看来是需要等了。我个人极其讨厌配置文件,我基本不太会使用工具来生成配置文件,从来都是手写,这是从EJB1.0的年代养成的习惯。虽然现在很多工具帮助生成配置文件,但是还是增加了程序员学习使用工具的负担,而且工具的使用没有任何意义。

    大家可能还记得刚学习使用电脑的情景吧?!那时候谁要是会点基本的dos(现在是windows了,呵呵)操作,那就牛的不得了,可是呢,过了一个阶段呢?会使用工具没有意义,有意义的是思想和能力的提升。

    至于标签库,我是个绝对的反标签者,坚决反对使用任何标签,坚决抵制,坚决而且坚定。我觉得,jsp作为J2EE的一项重要技术,就是做动态网页的,而标签试图以html的方式取代jsp是不符合技术规律的,况且标签还是类,还需要编译,与jsp有什么区别么?程序员还要针对标签去学习一种陌生的规则。标签实现的所有功能完全可以通过对象来实现,效果、效率一样。标签的唯一好处就是Jsp页面上没有了<%%>,但是丧失了可读性,完全不利于代码交接。老外之所以搞个标签,是从分工角度出发,认为搞HTML的页面程序员不会Java,用了标签,他们就可以也写些页面逻辑了,cao,这完全是主观臆断,现在国内的开发,页面几乎都是美工来做地,美工是一个标签都不会写的,不存在这样的分工方式。标签,坚决不要用,这是一个老程序员的建议。

    Struts是MVC框架,但是MVC有非常多实现方式,Struts我认为是非常笨重的实现。我来举一个例子:
-----------------------------JSP----------------------
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="test.Control"%>
<%@ page import="test.Model"%>
<%
   Model model=Control.getModel();  //通过控制,获得模型
%>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
      <%=model.getName()%>     ‘注释:输出名字
</body>

</html>

------------------------Model-------------
package test;
public class Model
{
    private String name;
    public Model()
    {
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
}

--------------------control-------------
package test;
public final class Control
{
    public static Model getModel()
    {
        return new Model();
    }
}
   
    这个就是一个MVC的实现,Model纯粹来装载数据,Control中是全部的业务逻辑,然后,用写类的方式在页面写Jsp,程序员非常熟悉这样的方式,这个也可以说是一种简单的架构问题的解决。剩下的重要的内容就是把MVC分清楚。所以话说来,最重要的是思维方式的改变,逻辑思考能力的提高,至于使用什么工具,采用什么框架那个都是末节。武功的最高境界就是化繁为简,无招胜有招。

                                -----------未完·待续 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  soa struts mvc jsp 工具 string