- 浏览: 1504390 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (798)
- struts2 (42)
- servlet (20)
- quartz (4)
- jquery & ajax (24)
- tomcat (5)
- javascript (15)
- struts1 (8)
- 搜索关键字及链接 (3)
- fckeditor (3)
- Apache (5)
- spring (22)
- linux (3)
- 企业应用 (8)
- 综合应用 (13)
- 服务器 (2)
- 数据库 (85)
- 性能调优 (21)
- 网络应用 (15)
- 缓存技术 (8)
- 设计模式 (39)
- 面试题 (7)
- 程序人生&前辈程序员 (29)
- java基础 (59)
- hibernate (75)
- log4j (4)
- http (11)
- 架构设计 (28)
- 网页设计 (12)
- java邮件 (4)
- 相关工具 (11)
- ognl (7)
- 工作笔记 (18)
- 知识面扩展 (12)
- oracle异常 (1)
- 正则表达式 (2)
- java异常 (5)
- 项目实践&管理 (1)
- 专业术语 (11)
- 网站参考 (1)
- 论坛话题 (2)
- web应用 (11)
- cxf&webservice (22)
- freemarker (3)
- 开源项目 (9)
- eos (1)
- ibatis (6)
- 自定义标签 (3)
- jsp (3)
- 内部非公开文档(注意:保存为草稿) (0)
- 国内外知名企业 (2)
- 网店 (3)
- 分页 (1)
- 消费者习惯 (2)
- 每日关注 (1)
- 商业信息 (18)
- 关注商业网站 (1)
- 生活常识 (3)
- 新闻 (2)
- xml&JSON (5)
- solaris (1)
- apache.common (3)
- BLOB/CLOB (1)
- lucene (2)
- JMS (14)
- 社会进程 (8)
- SSH扩展 (2)
- 消费心理 (1)
- 珠三角 (1)
- 设计文档 (1)
- XWork&webwork (1)
- 软件工程 (3)
- 数据库及链接 (1)
- RMI (2)
- 国内外知名企业&人物 (1)
最新评论
-
司c马:
简介易懂、
OutputStream和InputStream的区别 -
在世界的中心呼喚愛:
解决我的问题
Java获取客户端的真实IP地址 -
bo_hai:
都是些基本的概念呀!
SSO -
tian_4238:
哥们,你也是搞水利这块的吧。
巧用SQLQuery中的addScalar -
loveEVERYday:
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
本文向您讲解架构、框架和设计模式之间的关系,框架是软件,框架比架构更具体,更偏重于技术涉嫌。而设计模式是软件的知识体,提升框架的设计水平
一、软件体系结构和框架的定义
软件体系结构的英文单词是“architecture”. Architecture的基本词义是建筑、建筑学、建筑风格。
软件体系结构虽然根植于软件工程,但还处于一个研究发展的阶段,迄今为止还没有一个为大家所公认的定义。
《设计模式》中对框架的定义是框架就是一组相互协作的类,对于特定的一类软件,框架构成了一种可重用的设计。
软件框架是项目软件开发过程中提取特定领域软件的共性部分形成的体系结构,不同领域的软件项目有着不同的框架类型。框架的作用在于:由于提取了特定领域软件的共性部分,因此在此领域内新项目的开发过程中代码不需要从头编写,只需要在框架的基础上进行一些开发和调整便可满足要求;对于开发过程而言,这样做会提高软件的质量,降低成本,缩短开发时间,使开发越做越轻松,效益越做越好,形成一种良性循环。
框架不是现成可用的应用系统。是一个半成品,需要后来的开发人员进行二次开发,实现具体功能的应用系统。框架不是“平台”,平台概念比较模糊可以是一种操作系统,一种应用服务器,一种数据库软件,一种通讯中间件等地那个,因此平台在应用平台主要指提供特定服务的系统软件,而框架更侧重了设计,开发过程,或者可以说,框架通过调用平台提供的服务而起的作用。
框架不是工具包或者类库,调用API并不就是在使用框架开发,紧紧使用API是,开发者完成系统的主题部分,并不时地调用类库实现特定任务。而框架构成了通用的、具有一般性的系统主体部分,二次开发人员只是像做填空一样,根据具体业务,完成特定应用系统中与众不同的特殊部分。
二、框架与架构之间的关系
框架不是构架(即软件体系机构)。体系结构确定了系统整体结构、层次划分,不同部分之间的协作等设计考虑。框架比架构更具体。更偏重于技术涉嫌。确定框架后,软件体系结构也随之确定,而对于同一软件体系结构(比如Web开发中的MVC),可以通过多种框架来实现。
三、框架与设计模式之间的关系
设计模式和框架在软件设计中是两个不同的研究领域。设计模式研究的是一个设计问题的解决方法,一个模式可应用于不同的框架和被不同的语言所实现;而框架则是一个应用的体系结构,是一种或多种设计模式和代码的混合体虽然它们有所不同,但却共同致力于使人们的设计可以被重用,在思想上存在着统一性的特点,因而设计模式的思想可以在框架设计中进行应用。
框架和设计模式存在着显著的区别,主要表现在二者提供的内容和致力应用的领域。
1)、从应用领域上分,框架给出的是整个应用的体系结构;而设计模式则给出了单一设计问题的解决方案,并且这个方案可在不同的应用程序或者框架中进行应用。
2)、从内容上分,设计模式仅是一个单纯的设计,这个设计可被不同语言以不用方式来实现;而框架则是设计和代码的一个混合体,编程者可以用各种方式对框架进行扩展,进而形成完整的不同的应用。
3)、以第二条为基础,可以得出设计模式比框架更容易移植:框架一旦设计成形,虽然还没有构成完整的一个应用,但是以其为基础进行应用的开发显然要受制于框架的实现环境;而设计模式是与语言无关的,所以可以在更广泛的异构环境中进行应用。
总之,框架是软件,而设计模式是软件的知识体,提升框架的设计水平。
发表评论
-
LAMP网站架构方案分析
2011-09-21 11:09 1315LAMP(Linux-Apache-MySQL-PHP ... -
大流量网站的底层系统架构分析
2011-09-10 22:01 1207大流量、高并发的网站的底层系统架构 http://www.h ... -
详细介绍软件架构设计的三个维度
2011-09-07 19:28 1381本文介绍的是软件架构 ... -
十步构建大型网站架构(2)
2011-09-07 16:21 1468架构演变第六步:分库 享受了一段时间的系统访问量高速增长的幸 ... -
十步构建大型网站架构(1)
2011-09-07 16:20 1409今天我们来谈谈一个 ... -
UML实践----用例图、顺序图、状态图、类图、包图、协作图
2011-09-07 10:01 1982面向对象的问题的处理 ... -
UML建模之时序图
2011-09-06 20:19 3020http://www.uml.org.cn/oobject/2 ... -
UML 活动图
2011-09-06 20:13 1472UML 活动图记录单个操作 ... -
UML 状态图
2011-09-06 20:04 1327http://www.uml.org.cn/oobject/2 ... -
三种模型
2011-09-06 19:22 1389《uml面向对象建模与设计》本书提出了一套面向对象的表示 ... -
5 款基于 Web 浏览器的建模工具
2011-09-05 10:29 1282http://www.oschina.net/news/209 ... -
UML用例图
2011-09-02 16:31 5062一、UML用例建模简介 ... -
深入浅出REST
2011-08-19 09:48 1171不知你是否意识到,围绕着什么才是实现异构的应用到应用通信的“正 ... -
数据量非常大的照片分享社区网站架构设计
2011-07-21 21:31 9512数据库一向是网站架构中最具挑战性的,瓶颈通常出现在这里。又拍网 ... -
相关知识
2011-07-04 16:34 1287(二) 架构的分类 架构由于应用的不同而存在不同。大体而言, ... -
软件需求分析方法总结--轻巧建模之需求篇(二)
2011-06-27 23:07 2006http://hi.baidu.com/tdskee/blog ... -
软件需求分析方法总结--轻巧建模之需求篇(一)
2011-06-27 23:05 2248需求从哪儿来? 来自于项目甲方,还是直接或间接的用户、经 ... -
软件需求分析方法总结--撰写优秀的需求
2011-06-27 23:04 1633软件需求常常被写得很糟且难于遵循。清楚地阐明你的需求将使每位项 ... -
软件需求分析方法总结--如何分析问题和需求
2011-06-27 23:03 2301如何分析问题和需求 万事开头难,需求没有完全分析清楚,系 ... -
软件需求分析方法总结--如何进行软件需求分析(三)
2011-06-27 23:02 14768.需求分析的过程 需 ...
相关推荐
一个IT程序员必须知道--构架、框架、设计模式之间的关系简述...
ASP.NET MVC是微软推出的一个开源Web应用程序框架,它基于MVC设计模式,用于构建动态、数据驱动的Web应用。该框架与传统的ASP.NET Web Forms不同,提供了更灵活的架构和更高的测试能力。 1. **路由**: ASP.NET ...
- **与模式相关的概念比较** 可能会涉及到设计原则、设计方法和设计模式之间的关系,以及它们在软件设计中的不同角色。 - **设计模式与框架区别** 设计模式是构建框架的基础,框架则是设计模式的具体实现,为...
总结来说,MV框架是一种有效的软件设计模式,它通过明确的职责划分提升了开发效率和代码质量。深入理解和掌握MV框架的原理与实践,对于提升软件开发的专业水平具有重要意义。通过阅读“MV_框架某简述.pdf”,开发者...
MVC+DAO设计模式是当前软件开发中常用的设计模式,它将 Model、View、Controller 三层架构结合DAO(Data Access Object)模式,实现了数据访问的解耦,即DAO层主要负责与数据库的交互,MVC层负责业务逻辑的处理。...
软件架构可以被定义为一个系统的高层次抽象,它包含了系统的组成元素(如模块、组件、服务等)、这些元素之间的关系(如调用、依赖、交互等),以及用于指导系统实现的原则和模式。软件架构不仅仅是技术图纸,它是...
在J2EE开发中,MVC(Model-View-Controller)设计模式是一种广泛采用的架构模式,用于构建可维护性和可扩展性高的Web应用程序。在这个"J2EE练习6(exercise6)"中,我们将深入探讨如何运用MVC模式来解决实际问题。 ...
- **定义**:MVC(Model-View-Controller)架构是一种常用的设计模式,用于简化复杂应用程序的开发。它将应用程序划分为三个核心组件: - **控制器**(Controller):接收用户输入并调用模型和视图去完成用户的需求...
BI架构需要从各种源头获取数据,这些源头可能包括企业的内部系统,如ERP(企业资源规划)、CRM(客户关系管理)、SCM(供应链管理)等,也可能来自外部数据源,如市场报告、社交媒体、合作伙伴系统等。数据收集的...
它遵循Model-View-Controller(MVC)设计模式,将业务逻辑、数据和用户界面分离。SpringMVC的主要组件包括DispatcherServlet、Controller、Model、View和ViewResolver等。其工作流程如下: - **DispatcherServlet**...
此外,Spring MVC作为Spring的一部分,提供了模型-视图-控制器(MVC)设计模式的实现,用于处理HTTP请求和响应。 2. MyBatis框架: MyBatis是一个轻量级的持久层框架,它简化了数据库操作,允许开发者将SQL语句...
文档强调,虽然主要使用.NET Framework 2.0和Visual Studio 2005,但读者需要具备C#、ASP.NET、设计模式、数据库基础、软件架构原则和一些前端技术(如JavaScript、Ajax、HTML、CSS)的基础知识。同时,此系列文章...
它遵循MVC设计模式,将表现层、业务逻辑层和数据访问层分离,使得代码结构清晰。在本项目中,Spring MVC接收HTTP请求,调用相应的Controller处理业务逻辑,然后返回视图。 3. **MyBatis框架**:MyBatis是一个持久层...
以上只是部分设计模式的简述,实际书籍中会更深入地探讨每种模式在C#中的具体实现方式、适用场景以及注意事项。通过学习和应用这些模式,开发者可以提高代码质量,降低维护成本,为项目带来更优秀的工程化实现。
文章简述了当前云物流配送系统的研究现状,学者们从不同角度探讨了云物流体系的架构设计、技术应用、功能模型和实际应用。例如,王琦峰等探讨了云物流的整体框架,姜春艳等则从技术和平台体系架构两方面构建了云物流...
它遵循Model-View-Controller(MVC)设计模式,将业务逻辑、数据展示和用户交互分离开来。在SSM整合中,Spring MVC处理HTTP请求,将数据传递给服务层处理,并将结果返回给前端。 **3. MyBatis** MyBatis是一个优秀...
Struts2是一个基于MVC设计模式的Java Web框架。它的主要优点包括: 1. **清晰的架构**:Struts2提供了一个明确的架构,使得开发流程变得清晰,有助于开发者更好地理解和控制开发过程。 2. **OGNL(Object-Graph ...
Java Web体系结构是一种用于构建动态、交互式Web应用程序的技术框架,其中最具代表性的是Model-View-Controller(MVC)设计模式。MVC模式是软件工程中的一种架构模式,广泛应用于Web开发,它将应用程序的不同部分...