用户操作
[即时聊天] [发私信] [加为好友]
wanghailongID:buaawhl
100744次访问,排名892好友0人,关注者1
buaawhl的文章
原创 49 篇
翻译 0 篇
转载 0 篇
评论 152 篇
最近评论
bruce_lau:看看这个解决方案,对象的缓存和jive差不多,列表也是选id,但是对列表还有缓存,还可以根据字段作散列列表缓存,这样列表的缓存命中率非常高,是一个比较好的数据库缓存解决方案。参见http://shedewang.com/akaladocs/api/com/akala/dbcache/core/BaseManager.html
yipeng6213:个人觉得fastm真的很不错,我之前的模板是用velocity写的,我现在想把它转换成fastm的,但其中velocity模板中的if elseif else 怎么 用fastm替换呢?请问有没有具体的实例 给我参考一下,急!
lidaoguang00109:谢谢您的努力.
这个FastM我使用过了,觉得很不错.
容易上手,特别是可以直接用HTML观察模版的布局形态,有利于界面效果的评估.
现在有一个问题一直困扰我.
就是如果实现一个Table,每一个列被点击后都能排序,用FastM如何实现呢?每一次ValueSet DOM都要重新设置吗?
vkuja2003:楼主做学问的方法很值得学习
noia_zhou:我拜读了你的持久层和cache设计的一些文章,觉得想法很不错。我觉得现在的持久层框架还是挺复杂的,如hibernate等,单看看它10几兆的开发包就知道了,我的初步想法是利用po跟table的字段一致性,通过反射po得到要执行的sql。这样做的好处是少了很多表结构的配置文件。然后做一个简单dao来完成。这里我的想法是做两个dao,一个BaseDao,BaseChaheDao。其中两者都是 继……
文章分类
收藏
    相册
    友情blog
    http://smsbim.bokee.com/
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 Java Web开发构想(1) -- 1.背景、形势 2.Web开发框架层次概述收藏

    新一篇: Java Web开发构想(2) -- 3.页面资源, 4.页面模板层 | 旧一篇: Revolutionary Template Tech -- fastm

    Java Web开发构想

    1.背景、形势

    能够进行Web开发的编程语言和技术很多

    (1) 动态解释语言

    PHP; Perl; Python (Zope, Plone); Ruby (Ruby on Rails);

    (2) 编译语言

    Java; .net

     

    Java Web开发远非一枝独秀:

    除了受到来自.net 这个重量级对手的最大挑战之外,更受到Zope, Ruby on Rail 等新式轻骑兵的冲击(当然,也继续受到老式轻步兵PHP, Perl的冲击)。

     

    官方Java走的是复杂路线,Servlet -> JSP -> Taglib.net走的也是复杂路线,依靠成熟友好的集成化开发环境取胜。Java阵营好容易应对过来,从纷纭复杂的各种开发框架基础上,发展出了重量级Web开发框架JSF,以及相应的集成化开发环境;渴望以此应对.net的攻势。胜负未分,前途未卜。这时,另一个方向又杀来了新式轻骑Zope, Ruby on Rail

    Python, Ruby等动态解释语言,面向对象特性更好,先天支持 动态绑定、AOP、函数式编程、“编程即配置”等时髦概念。开发速度更快,代码量更小,达到killer级别。

     

    传统的HTML Web开发领域里面,Java已经是腹背受敌。领域外也展开了征战,Rich Client Architecture的兴起:AJAX(XMLHttp), Flash RIA, XUL, XAML, Smart Client(以及从前的ActiveX, Applet, Web Start)。

     

    Web的发展趋势是 语义Web,最终目的是让整个Web成为一个巨大的数据库。

    这意味着,未来的Web应用将更加的面向文本内容数据,更加搜索引擎友好 – Search Engine Friendly.

    二进制的客户端插件,如Flash RIA,  ActiveX, Applet, Web Start等,虽然交互性能最好,但不是以文本内容数据为中心,搜索引擎不友好。所以,我只是保持适当关注。我更关注基于文本的UI表现,如HTML, XUL, XAML等。XUL, XAML还没有广泛流行,只是保持一种有兴趣的关注。

    当下关注的重点,还是 XHTML + CSS +  Javascript少量的 AJAX(XMLHttp)增加更好的交互性。

     

    我一直认为:轻量、简洁、高效 才是硬道理。后面阐述我对Java Web开发的理解和构想。

    2. Web开发框架层次概述

    从上到下,Web开发框架的层次如下:

    (1) HTML, JavaScript, CSS等页面资源。

    (2) 页面模板层。

    JSP, Freemarker, Velocity, XSLfastm等。用来生成HTML, JavaScript, CSS等页面资源。

    (3) Web框架。把HTTP Request调度分派到对应的Service Entry

    (4) Business Logic.

    (5) O/R Mapping.

    (6) JDBC

    (7) DB

     

    根据我的经验,一个典型的Web应用中的代码比例如下:

    页面逻辑约占 50%,商业逻辑约占30%,  O/R 约占20%

     

    但事实上,页面却是最不受重视的部分,从来都被认为是脏活,累活,杂活。典型的开发过程通常是这样:

    页面设计人员迅速的用Dreamweaver等生成一堆文本杂乱无章的页面,然后交给JSP程序员加入更加杂乱无章的Java代码和Taglib

    当页面布局风格需要改变的时候,页面设计人员用Dreamweaver等生成一堆新的页面。JSP程序员再重新加入更加杂乱无章的Java代码Taglib

    至于页面中的脚本逻辑调试,更是一门精深的工夫了。

     

    根据社会规则,通常来说,工作内容越轻松,收入越高;工作内容越脏月累,收入越低;Web开发也是如此:做着最脏最累的活的页面程序员,工资一般比不上后台业务逻辑程序员。

     

    开发框架通常会带来这样的结果:让简单的东西,变得更简单;让复杂的东西,变得更复杂。

    这其中的原因在于:

    一般来说,一个应用中简单重复的东西占80%,复杂特殊的东西占20%

    简单重复的东西很容易摸清规律,进行包装,通用化。但是,在包装的同时,经常就阻挡住了底层的一些灵活强大的控制能力。在复杂特殊的需求中,确实又需要这些底层控制能力,那么为了绕开框架的限制,付出的努力要比不用框架 大得多。

    打个比方,一个比较极端的例子。编译语言比汇编语言的开发效率高很多,但是却无法直接操作寄存器。当需要在编译语言中操作寄存器的时候,就非常的痛苦。比如Java,也许需要JNI,写C代码,还要在C代码里面嵌入汇编。编译、连接都很麻烦。

    所以,一个框架的开发效率,就在于这个80%简单 20%复杂之间的平衡。

    假如,不用框架来开发,简单的80%要消耗 80个资源数,复杂的20%要消耗20个资源数,总资源数是100;使用了某个框架,简单的80%只要消耗10个资源数,复杂的20%要消耗40个资源数,总资源数是50。那么,我们说,这个开发框架是有效率的。

     

    我的思路是,同时应对复杂和简单。当然,为了应对复杂,简单的东西可能就应对得不那么好。比如,做这样一个开发框架,简单的80%要消耗20个资源数,复杂的20%要消耗10个资源数,总资源数是30

    这种开发框架是有可能实现的。而且是很有意义的。尤其是在复杂部分的比例提高的时候。越复杂的系统,这种开发框架就越有意义。

     

    后面的关于Web各层开发的论述,主要就按照这个“应对复杂、让复杂更简单”的思路展开。

    发表于 @ 2005年05月30日 19:56:00|评论(loading...)|编辑

    新一篇: Java Web开发构想(2) -- 3.页面资源, 4.页面模板层 | 旧一篇: Revolutionary Template Tech -- fastm

    评论

    #david li 发表于2006-08-10 15:26:00  IP: 211.144.200.*
    very well...
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © buaawhl