对设计模式、架构、架构模式的理解

许久以来没有完全弄懂三者的联系与区别。这两天,看了许多别人的设计和看法后,有了点自己对这三者的想法与理解(如有不妥,敬请指正):

一、基本思想

1.解耦

2.重用

二、三者层次关系

设计模式<架构<架构模式

三、三者实质

1.设计模式

实质:代码层重用

例:工厂模式、单例模式、适配器模式、策略模式、代理模式.etc

2.框架

实质:

  1.框架是框架模式的值(实例),而框架模式是型。

  2.模块重用

例:

  SSH(Java);Smarty[MVC](PHP);django[MVC](python);QT(C++);MFC;GTK;

3.框架模式:

实质:

  1.框架模式是框架的型,而框架是框架模式的值(实例).

  2.模块重用

例:

  MVC;MVP;MVVM;MTV;CBD;ORM;CDN.etc

四、参考文档

  MVC到底是设计模式还是一种框架?(知乎)

    MVC是框架?是设计模式?是架构?还是……

五、遗留问题

  1.三层架构[数据访问层-业务逻辑层-界面层]与MVC架构模式[模型层-控制层-视图层]的区别?

  答:三层架构(百科)

时间: 2024-12-06 16:26:09

对设计模式、架构、架构模式的理解的相关文章

设计模式之状态模式学习理解

在状态模式(State Pattern)中,类的行为是基于它的状态改变的.这种类型的设计模式属于行为型模式. 在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象. 介绍 意图:允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类. 主要解决:对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为. 何时使用:当一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时. 如何解决:将各种具体的状态类

设计模式之命令模式学习理解

命令模式 命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式.请求以命令的形式包裹在对象中,并传给调用对象.调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令. 介绍 意图:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化. 主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录.撤销或重做.事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适. 何时使用:在某些

GOF23设计模式之状态模式的理解与实现

 状态模式:      场景:          电梯的运行:               维修,正常,自动关门,自动开门,向上运行,向下运行,消防状态          红绿灯               红灯,黄灯,绿灯          企业或政府系统               公文审批状态                    报销单据审批状态                    假条审批               网上购物时,订单的状态                   

大数据架构和模式(三)——理解大数据解决方案的架构层

摘要:大数据解决方案的逻辑层可以帮助定义和分类各个必要的组件,大数据解决方案需要使用这些组件来满足给定业务案例的功能性和非功能性需求.这些逻辑层列出了大数据解决方案的关键组件,包括从各种数据源获取数据的位置,以及向需要洞察的流程.设备和人员提供业务洞察所需的分析. 概述 这个 “大数据架构和模式” 系列的 第 2 部分 介绍了一种评估大数据解决方案可行性的基于维度的方法.如果您已经使用上一篇文章中的问题和提示分析了自己的情况,并且已经决定开始构建新的(或更新现有的)大数据解决方案,那么下一步就是

大数据架构和模式(三)理解大数据解决方案的架构层

本文件收藏于:http://kb.cnblogs.com/page/510980/ 作者: Divakar等  来源: DeveloperWorks  发布时间: 2015-01-29 18:21   推荐: 0   原文链接   [收藏] 摘要:大数据解决方案的逻辑层可以帮助定义和分类各个必要的组件,大数据解决方案需要使用这些组件来满足给定业务案例的功能性和非功能性需求.这些逻辑层列出了大数据解决方案的关键组件,包括从各种数据源获取数据的位置,以及向需要洞察的流程.设备和人员提供业务洞察所需的

也谈设计模式,架构,框架和类库的区别

看了廖大的<设计模式,框架,架构>http://www.dualface.com/blog/?p=546感觉受益良多,下面我打算用一个比方来诠释我的理解 我类比的例子是盖房子,我先从设计模式说起.人类从住山洞到现在的住高楼大厦中间的居住形态经历了无数次的演变,不同的 人用自己的智慧诠释了对居住环境的理解,并且由于有了文字这些经验都被记录下来了.现在打个比方,如果让学计算机的你在一个深 山老林里,什么都不给你,你能盖出什么样的房子呢?我猜肯定是什么也盖不出来,只能去睡山洞了,为什么呢,因为你什么

用VS2010创建三层架构开发模式及三层架构的研究

三层架构的研究 三层体系结构的概念 用户界面表示层(USL) 业务逻辑层(BLL) 数据访问层(DAL) BLL将USL与DAL隔开了,并且加入了业务规则 各层的作用 1:数据数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务. 2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建. 3:表

设计模式&lt;框架&lt;架构&lt;平台

设计模式<框架<架构<平台,从复用角度讲,设计模式是代码级复用.框架是模块级复用.架构是系统级复用.平台是企业应用级复用. 1.设计模式 为什么要先说设计模式?因为设计模式在这些概念中是最基本的,而且也比较简单.那么什么是设计模式呢?说的直白点,设计模式就是告诉你针对特定问题如何组织类.对象和接口之间的关系,是前人总结的经验.比如我要在代码中实现一个全局唯一的配置类,那么就使用Singleton模式.设计模式在实际编码工作和设计框架时会被使用到,而更高层的架构和平台则不会太关注它. 2.

大数据架构和模式(一)——大数据分类和架构简介

概述 大数据可通过许多方式来存储.获取.处理和分析.每个大数据来源都有不同的特征,包括数据的频率.量.速度.类型和真实性.处理并存储大数据时,会涉及到更多维度,比如治理.安全性和策略.选择一种架构并构建合适的大数据解决方案极具挑战,因为需要考虑非常多的因素. 这个 “大数据架构和模式” 系列提供了一种结构化和基于模式的方法来简化定义完整的大数据架构的任务.因为评估一个业务场景是否存在大数据问题很重要,所以我们包含了一些线索来帮助确定哪些业务问题适合采用大数据解决方案. 从分类大数据到选择大数据解