web平台的思考

来源:互联网 发布:手机淘宝分类去哪 编辑:程序博客网 时间:2024/05/17 06:32

想要设计出一个好的web软件,需要一个好的设计平台和web架构.说到web平台首先想到的是 Thin Clients 和 Fat Clients ,现在非常流行的ajax就是一个fat clients. 既然有分为Thin 和Fat ,那么肯定有他们自己的特点,有自己的优缺点,就是需求不同,应用不同,

首先来看看Thin Clients ,瘦客户端,客户端的负载非常少,容易部署,容易维护,当然需要复杂的开发,限制了比较多的功能,

而现在的fat Clients 有着原来 thin Clients 的优点,而且有着c/s 的丰富用户体验,很好的控件支持。

因此 fat  所带来的是丰富的用户体验,就是客户端的功能比较强大,因此试用于对用户交互要求较高的需求,比如网络相册等等;

假如交互不多,重点在view的功能的话,还是thin clients 比较好.

jsp 有着优异的框架组织,但在控件支持,用户体验比不上asp,net

而asp.net的控件功能都比较强大.

 JSPASP.Net最大的感触是,JSP在易用性、控件支持和用户体验上远不如ASP.Net,但是它却有着ASP.Net所没有的、优异的框架组织。ASP.Net缺乏的是如何将这些优异的控件、组件有机的组织起来的框架,而JSP却恰恰相反。ASP.Net就像是一个明星球队,每个球员都很棒,但却缺乏一个很好的组织和协调;而JSP像是一个没有明星的球队,每个队员都不是很强,但是却有惊人的组织和协调。

?????? 刚入行的时候,关心的是语言语法,后来研究控件、组件,再后来才发现,对于大型企业应用,真正的问题,不是某个算法如何优异,某个控件怎样使用,而是如何将这些单元有机的组织起来,实现良好的可维护性、可扩展性等,这也是我理解的软件架构。

?????? 谈到软件架构,我觉得应该说说应用程序的分层,我觉得分层是软件架构的表现,也是实现良好的可维护性和扩展性的方式。

?????? 还是老规矩,以我经历的项目来谈谈软件分层的好处和坏处。

?????? 我经历的第一个Web项目,界面层和数据层是绑定在一起的,其实也是当时最传统的做法,在界面页上嵌JSP数据库查询代码,htmlJSP混合在一起。例如,要显示一个列表,就用JSP查出结果集,然后用<tr><td>作循环。

?????? 很显然,这样够直接,开发人员不用什么特别的设计就能够快速开发出东西。可是,问题呢?好多呀。例如:

l???????? 代码的可读性很差,html中掺杂这数据代码,还有逻辑代码,你读代码就一个感觉――乱,想找个地方都找不到。

l???????? 界面和数据代码、业务逻辑之间耦合,复用几乎为零。当我们想更改页面风格时,我们不敢改,为什么,因为我们不光要修改界面层,还有修改数据、逻辑代码,真是“牵一发而动全身”。当我们在另一个地方用到相同的界面,只是数据不同时,我们只能重新做一个界面再加数据代码,因为我们根本无法将界面从高耦合的代码中玻璃出来。

很庆幸,我们通过JDBC将数据库和应用程序的耦合关系断开了。它的好处在我们将数据库从Oracle 8i升级到Oracle 10g时体现出来。当我将后台数据库更换后,居然不用修改任何代码就能够Run起来。我觉得这也是分层能够带来的好处之一,将修改限制在某一层中,而不会影响其他层的东西。

总结了一下,觉得分层会在可维护性、可扩展性、可复用性上得到很好的效果。但是,想要得到它的好处,就要为它付出代价。分层对开发和设计人员都提出了更高的要求,而且调试时也会遇到困难。不过,我觉得这是值得的。

后来,研究了一些设计模式,读了一些关于SpringHibernate的书,为Java平台下有这样优异的框架而惊叹。

随着自己理解的加深,感觉无论是设计模式还是中间件、框架都是在不同程度上构建中间层,进行解藕。

好了,我谈完了,一些思想还不成熟,也不一定正确。不过,我仍然希望您能够

原创粉丝点击