选择显示字体大小

模式和框架简介

现在软件设计里到处都是模式框架

1.什么是模式

模式,即pattern。其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度,那就是模式。 alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。当一个领域逐渐成熟的时候,自然会出现很多模式。什么是框架

框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。 

2.为什么要用模式

因为模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。而且会得到解决问题的最佳办法。 

为什么要用框架

因为软件系统发展到今天已经很复杂了,特别是服务器端软件,设计到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。

框架一般处在低层应用平台(如j2ee)和高层业务逻辑之间的中间层。 

软件为什么要分层?



为了实现“高内聚、低耦合”。把问题划分开来各个解决,易于控制,易于延展,易于分配资源…总之好处很多啦:)。

3.以下所述主要是javaj2ee方面的模式框架

常见的设计模式有什么?

首先,你要了解的是gof的《设计模式--可复用面向对象软件的基础》一书(这个可以说是程序员必备的了),注意:gof不是一个人,而是指四个人。它的原意是gangs of four,就是“四人帮”,就是指此书的四个作者:erich gamma,richard helm,ralph johnson,john vlissides。这本书讲了23种主要的模式,包括:抽象工厂、适配器、外观模式等。

还有其他的很多模式,估计有100多种。

软件设计模式太多,就我的理解简单说一下最常见的mvc模式

mvc模式是1996年由buschmann提出的:

模型(model):就是封装数据和所有基于对这些数据的操作。

视图(view):就是封装的是对数据显示,即用户界面。

控制器(control):就是封装外界作用于模型的操作和对数据流向的控制等。 

另外: rup(rational unified process)软件统一过程,xp(extreme programming)极端编程,这些通常被叫做“过程方法”,是一种软件项目实施过程的方法论,它是针对软件项目的实施过程提出的方法策略。也是另一个角度的模式。 

4.常见的java框架有什么?

waf:

全称:web application framework

主要应用方面:ejb层,(web层也有,但是比较弱)。

主要应用技术:ejb

出处: http://java.sun.com/blueprints/code/index.html

简述:这是sun在展示j2ee平台时所用的例子petstore(宠物商店系统)里面的框架。是sun蓝皮书例子程序中提出的应用框架。它实现了 mvc和其他良好的设计模式。sun的网站上有技术资料,最好下载petstore来研究,weblogic里自带此系统,源码在bea\weblogic700\samples\server\src\petstore。这是学习了解j2ee的首选框架

免费。 

struts:

主要应用方面:web层。

主要应用技术:jsp,taglib,javabean,xml

出处: http://jakarta.apache.org/struts/index.html

简述:这是apache的开源项目,目前应用很广泛。基于mvc模式,结构很好,基于jsp。jbuilder8里已经集成了struts1.02的制作。

免费。 简述waf+struts结合的例子:web层用strutsejb层用waf:

jsp(taglib)——>actionform——>action ——> event——>ejbaction——>ejb ——>dao——>database jsp(taglib) (forward) <——action <——eventresponse<——

turbine:

主要应用方面:web层。

主要应用技术:servlet

出处: http://jakarta.apache.org/turbine/index.html

简述:这是apache的开源项目。基于servlet。据说速度比较快,基于service(pluggable implementation可插拔的执行组件)的方式提供各种服务。

免费。

cocoon:

主要应用方面:web层。

主要应用技术:xml,xsp,servlet

出处:简述:这是apache的一个开源项目。基于xml,基于xsp(通俗地说,xsp是在xml静态文档中加入java程序段后形成的动态xml文档。)。特点是可以与多种数据源交互,包括文件系统,数据库,ldap,xml资源库,网络数据源等。

免费。 

echo:

主要应用方面:web层。

主要应用技术:servlet

出处: >简述:nextapp公司的一个开源项目。基于servlet。页面可以做的很漂亮,结合echopoint,可以作出很多图形效果(里面用了jfreechart包)。使用swing的思想来作网页,把html当作java的类来做。但是大量使用session,页面分帧(frame)很多,系统资源消耗很大。

免费。 

jato:

全称:sun one application framework

主要应用方面:web层。

主要应用技术:jsp,taglib,javabean等

出处: http://www.sun.com/

简述:这是sun推出的一个商业性框架,一看名字就知道是结合sun one的平台推出的。我下载了jato2.0看了一下,感觉有些简单,使用了jsp+taglib+javabean。如他的doc所说jato是适合用在小的web应用里。

免费。 

tcf:

全称:thin-client framework

主要应用方面:java gui

主要应用技术:java application等

出处:简述:这是ibm出的一个框架。基于mvc模式,基于java application。推荐一篇介绍文章: http://www-900.ibm.com/developerworks/cn/java/j-tcf1/index.shtml

收费:每个企业对象license:2000美元。

5.其实本文的目的在于“抛砖引玉”,希望各路高手请你们把各种框架的特点和出处罗列一下 ,供大家参考,选用。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons