(第2讲)各种架构

原创 2016年08月28日 18:08:25

首先分清 设计模式、框架、架构、平台的区别

http://www.cnblogs.com/chehaoj/archive/2010/12/09/1901049.html

从小到大:
设计模式 < 框架 < 架构 < 平台    简单说架构就是系统的逻辑构想,而框架就是该构想的具体实现。

1、设计模式:模式是最小的,但是越小越灵活,可重用的范围是最广的。

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

2、框架  Framework:框架就是基础设施,是相关软件的公共部分,可以是规范也可以是产品...框架产品通常由众多类库构成...

做WEB开发接触到最多的框架可数ORM框架,ORM框架只是所有数据关系映射框架的统称,具体的如NHibernate、ActiveRecord等,框架是为了解决特定问题而存在的,其它诸如模板框架、缓存框架,框架不能直接使用,需要二次开发。

框架有哪些?
C++语言的QT、MFC、gtk,
Java语言的SSHSSI
php语言的 smarty
python语言的django

3、架构 Architecture   架构就是设计蓝图,是架构师的设计成果...框架产品是架构实现的一个实例

从大的层面来说,比如针对公司业务的B2C网站系统架构,里面可能会用到多种解决各方面问题的框架,关注的是技术整合、扩展、可维护性。换个角度,在框架中也会涉及到架构问题,比如开发NHibernate框架,也需要考虑如何进行设计。

4、平台

平台的概念类似框架,但又结合的架构的考虑,它是更高层面上的“框架”,准确说是一种应用。它是针对企业用户,为解决企业业务需要而形成的产品。

 

一个框架可能使用了多个模式,而一个架构有可能应用了多个框架,这样一个大型系统的设计基本从主骨干到骨架基本能够被设计者考虑设计到,也可以想见,一个系统被细化成了很多工作量,例如一个部分细化到工厂模式,那么就可以要求程序员实现工厂模式的代码即可。


下边讲架构的按层分类

1、网络应用程序的架构按层数分为:2层架构、3层架构、N层架构。

2、其中两层架构的代表有两个:B/S架构 和 C/S架构。

C/S架构:是客户机/服务器,即client/server的缩写。客户的业务逻辑集中在客户端,因此被称为“胖服务器”。 如图所示:


B/S架构:浏览器/服务器,是Browser/Server的缩写。  业务逻辑和数据操作都集中在服务器端,因此又称为“瘦客户端”。如图所示:

C/S 架构 和B/S架构的区别:

(1)B/S 的产品升级很方便,比如说一个网站,他做了一些新的排版,只用你刷新或者重新点开这个网页,即可看到最新版;

        但是C/S 的产品升级就需要下载最新版的客户端,然后卸载掉以前的版本,安装新版本,才能体验到新的功能和界面体验。

(2)B/S 是基于广域网的,交流互动很方便,而C/S 的是基于局域网的,如果一个员工外出期间想要了解工作进展,就没办法获取信息,只能在局域网中才能看到,在外网是看不到的。

(3)B/S 不利于用户管理。C/S相对比较容易管理。

3、三层架构:是指将网络应用程序进一步划分,分为表示层。业务逻辑层。数据访问层,如图所示:

三层架构的代表是:MVC架构,model-view-controller 模型-视图-控制器

Model:负责封装应用程序的数据和业务逻辑

View:负责应用程序的显示

Controller:负责接收用户的输入

4、N层架构: 就是把能分出来的都分为一层,目的是降低层与层之间的耦合度,提高开发效率,降低维护成本。不说微软的 .NET 平台,前Sun公司的 Java EE平台。


第2讲_企业架构模型

  • 2015年11月21日 14:56
  • 3.81MB
  • 下载

现代嵌入式计算 - 第4章 - 嵌入式平台架构 (第2部分, 易失性存储器技术)

易失性存储器技术 一个完整的嵌入式系统包括许多不同的存储技术。 Intel平台有两种不同的地址类型。第一个是I/O设备;通过in/out汇编指令读取,或者mov指令把数据送到MMIO空间。当一个程...

您的应用程序架构中的Ext JS 4,第2部分

您的应用程序架构中的Ext JS 4,第2部分 在先前的Ext JS建筑的文章中,我们探讨了如何构建一个潘多拉风格的应用程序,使用Ext JS的。我们看看在模型 - 视图 - 控制器架构,以及如...

Nginx的命令行控制-转自《深入理解Nginx模块开发与架构解析》第2版

转自《深入理解Nginx模块开发与架构解析》第2版 1.6 Nginx的命令行控制在Linux中,需要使用命令行来控制Nginx服务器的启动与停止、重载配置文件、回滚日志文件、平滑升级等行为。默认情况...

Spark定制班第2课:通过案例对Spark Streaming透彻理解三板斧之二:解密Spark Streaming运行机制和架构

上节课我们谈到了技术界的寻龙点穴。这就像过去的风水一样,每个领域都有自己的龙脉,Spark就是龙脉之所在,它的龙穴或者关键点就是Spark Streaming。这是上一节课我们非常清晰知道的结论之一。...
  • csdn_zf
  • csdn_zf
  • 2016年05月07日 20:20
  • 506

ROS机器人程序设计(原书第2版)补充资料 (贰) 第二章 ROS系统架构及概念

ROS机器人程序设计(原书第2版)补充资料 (贰) 第二章 ROS系统架构及概念 由于工作事物繁忙,更新有些慢,抱歉。 已经完成的各章节补充说明,会依据反馈意见持续更新,希望大家多提宝贵意见,非常感谢...

SPRING技术内幕:深入解析SPRING架构与设计原理(第2版)-笔记(六)AOP拦截器调用的实现

6.1 JdkDynamicAopProxy JdkDynamicAopProxy代理对象的回调: JdkDynamicAopProxy通过ReflectiveMethodInvocation完成...

第2课:通过案例对SparkStreaming 透彻理解三板斧之二:解密SparkStreaming运行机制和架构

上节课讲到spark就是大数据领域的龙脉之所在,而spark的龙穴或关键点就是spark streaming.我们通过把batch interval调大的方式对spark streaming进行了降维...

SPRING技术内幕:深入解析SPRING架构与设计原理(第2版)-笔记(三)AOP概念

advice: 【pointcut】—判定哪些切面需要增强: 【advisor】定义那个通知在那个关注点使用它:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:(第2讲)各种架构
举报原因:
原因补充:

(最多只允许输入30个字)