架构、框架和设计模式关系(转)

(转:http://blog.csdn.net/lfsf802/article/details/8487990#comments

在学习软件工程的时候,第一次接触到了架构这个概念。当初接触的时候对其的理解是非常浅薄的,因为那时候工程经验比较少,对这样一个深层次的概念还是模糊不清楚的。

随着学习的深入,开始接触了设计模式,也就是那本令我爱上编程的书--《大话设计模式》,书中的小菜和大鸟的清晰的对白,让我犹如身临其境般,一点一点层层递进的认识设计模式,认识面向对象的引以为傲的设计原则。经过了很长时间的学习,深刻的发现设计模式的迷人之处,也感觉到了编程的艺术之美。

在之后,开始学习了SSH框架,第一次感觉到框架的好用之处,也再一次感概那些聪明的人们让编程变得更加轻松,也感慨那些聪明的人们对懒惰的执着和渴望。

其实以前学习的时候,对这三个东东的关系还真的不是非常清晰,总感觉他们非常像,却不太好说清楚他们之间的关系。现在随着不断的学习,不断的积累经验,也对这三者的关系有了个清楚的认识。下面总结一下他们之间的关系。

1.    概念

架构:简单的说架构就是一个蓝图,是一种设计方案,将客户的不同需求抽象成为抽象组件,并且能够描述这些抽象组件之间的通信和调用。

框架:软件框架是项目软件开发过程中提取特定领域软件的共性部分形成的体系结构,不同领域的软件项目有着不同的框架类型。框架不是现成可用的应用系统。而是一个半成品,提供了诸多服务,开发人员进行二次开发,实现具体功能的应用系统。

设计模式:是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,它强调的是一个设计问题的解决方法。

2.    框架与架构关系

首先说框架不是架构,应该说框架比架构更具体,更偏重于技术,而架构偏重于设计。还有一个关系就是架构可以通过多种框架来实现。

3.    框架与设计模式关系

设计模式研究的是针对单一问题的设计思路和解决方法,一个模式可应用于不同的框架和被不同的语言所实现;而框架则是一个应用的体系结构,是一种或多种设计模式和代码的混合体虽然它们有所不同,但却共同致力于使人们的设计可以被重用,在思想上存在着统一性的特点,因而设计模式的思想可以在框架设计中进行应用。

4.    架构与设计模式关系

两者的关系也是很好区分的,设计模式主要是针对单一问题的解决方法,范畴比较小,而架构是高层次的针对体系结构的一种设计思路,范畴比较大。可以这么说,一个架构中可能会出现多个设计模式来解决多种架构中的问题。

5.    总结

通过上面的分析,我们能够知道他们之间的区别还是有很多,首先架构应该是一个范畴最大的概念,是最高层次的设计。一个架构设计中可能会用到多个框架和多个设计模式;而框架是针对共性抽象出来的半成品,这里面可能包含着多个设计模式;而设计模式就是解决单一问题的设计思路和解决方法。

所以我们在做一个项目的时候首先出来的应该是架构,是对整个问题的一个总体上的设计,之后再会考虑运用什么样的框架和设计模式来实现我们的架构;当然,只使用框架和设计模式中的一种也是经常遇到的。

他们三者的共同点都是解决现实生活中的问题而出现的,而且在架构设计和框架设计还有设计模式中都会表现出来的就是“高内聚,低耦合”的理念;所以他们的共同点就是让我们的设计更面向对象化。

所以我们要想做好一个好的项目,那么架构设计、框架设计和使用、设计模式是非常重要的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-27 18:17:00

架构、框架和设计模式关系(转)的相关文章

架构、框架和设计模式关系

原:http://blog.csdn.net/lfsf802/article/details/8487990 在学习软件工程的时候,第一次接触到了架构这个概念.当初接触的时候对其的理解是非常浅薄的,因为那时候工程经验比较少,对这样一个深层次的概念还是模糊不清楚的. 随着学习的深入,开始接触了设计模式,也就是那本令我爱上编程的书--<大话设计模式>,书中的小菜和大鸟的清晰的对白,让我犹如身临其境般,一点一点层层递进的认识设计模式,认识面向对象的引以为傲的设计原则.经过了很长时间的学习,深刻的发现

架构 框架 设计模式 --备用

1.    概念 架构:简单的说架构就是一个蓝图,是一种设计方案,将客户的不同需求抽象成为抽象组件,并且能够描述这些抽象组件之间的通信和调用. 框架:软件框架是项目软件开发过程中提取特定领域软件的共性部分形成的体系结构,不同领域的软件项目有着不同的框架类型.框架不是现成可用的应用系统.而是一个半成品,提供了诸多服务,开发人员进行二次开发,实现具体功能的应用系统. 设计模式:是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结,它强调的是一个设计问题的解决方法. 2.    框架与架

架构、框架、设计模式之间的关系简述

http://developer.51cto.com/art/200906/130816.htm 一.软件体系结构和框架的定义 软件体系结构的英文单词是"architecture". Architecture的基本词义是建筑.建筑学.建筑风格. 软件体系结构虽然根植于软件工程,但还处于一个研究发展的阶段,迄今为止还没有一个为大家所公认的定义. <设计模式>中对框架的定义是框架就是一组相互协作的类,对于特定的一类软件,框架构成了一种可重用的设计. 软件框架是项目软件开发过程中

架构、框架和设计模式

软件架构是系统的一个草图,阐述了各个组件之间的通信,层次划分,一旦系统开始详细设计,架构蓝图就很难甚至无法改变. 例如:三层架构:一种设计软件架构的思想. 通常意义上的三层架构就是将整个业务应用划分为表示层(User Interface  Layer).业务逻辑层(Buesiness Logic Layer).数据访问层(Data Access Layer).区分层次的目的是为了体现"高内聚,低耦合"的思想. 1.表示层 表示层位于最外层(最上层),最接近于用户.用于显示数据和接收用户

各类主流框架及设计模式简介

1,使用框架技术的优势:1)不用考虑公共问题,框架已经为我们做好了2)可以专心在业务逻辑上,保证核心业务逻辑的开发质量3)结构统一,便于学习,维护4)最重要的一点:框架中集成了前人的经验,可以帮助新手写出稳健.性能优良而且结构优美的高质量程序:2,什么是框架:框架(Framework)是一个提供了可重用的公共结构的半成品.一方面提供了可以拿来就用的工具,也提供了可重用的设计:框架使混乱的东西变得结构化:框架是一组协同工作的组件:3,java中的主流框架:1)Struts框架:是MVC设计模式的体

MVVM 一种新型架构框架

MVVM是Model-View-ViewModel的简写.微软的WPF带来了新的技术体验,如Silverlight.音频.视频.3D.动画……,这导致了软件UI层更加细节化.可定制化.同时,在技术层面,WPF也带来了 诸如Binding.Dependency Property.Routed Events.Command.DataTemplate.ControlTemplate等新特性.MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presente

Atitit.架构设计趋势 设计模式 ---微服务架构&#160;&#160;soa

Atitit.架构设计趋势 设计模式 ---微服务架构  soa 什么是微服务架构?1 .微服务与SOA的关系 :微服务架架构师面向服务架构(SOA)的一种特定实现1 微服务与康威定律2 微服务的一些设计 断路器 幂等2 <微服务设计>([英] 纽曼(Sam Newman))3 微服务架构与实践4 什么是微服务架构? Martin Fowler认为,微服务架构是一种独立部署的软件应用设计方式.这种架构方式没有准确的定义,但是在业务能力.自动部署.端对端的整合.对语言及数据的分散控制上有着共性.

框架和设计模式的区别

有很多程序员往往把框架模式和设计模式混淆,认为MVC是一种设计模式.实际上它们完全是不同的概念. 框架.设计模式这两个概念总容易被混淆,其实它们之间还是有区别的.框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用.在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用:应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性. 框架

单例模式的几种实现--《java开发技术-在架构中体验设计模式和算法之美》

package com.doctor.java.design_pattern; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /**  * 单例模式的几种实现--<java开发技术-在架构中体验设计模式和算法之美>  *   * @author doctor  *  * @time 2015年4月24日 下午11:11:03  */ public class SingletonPattern { /**  * @param a