您的位置:首页 > 其它

除了传统的设计模式外,另外还有一些大的方面-如何从宏观构建软件项目-框架模式一 基础

2009-09-23 20:32 1201 查看

框架模式

1理论

架构模式(Architectural Pattern)

  一个架构模式描述软件系统里的基本的结构组织或纲要。架构模式提供一些事先定义好的子系统,指定它们的责任,并给出把它们组织在一起的法则和指南。有些作者把这种架构模式叫做系统模式[STELTING02]。

  一个架构模式常常可以分解成很多个设计模式的联合使用。显然,MVC模式就是属于这一种模式。MVC模式常常包括调停者(Mediator)模式、策略(Strategy)模式、合成(Composite)模式、观察者(Observer)模式等。

  此外,常见的架构模式还有:

  ·Layers(分层)模式,有时也称Tiers模式

  ·Blackboard(黑板)模式

  ·Broker(中介)模式

  ·Distributed Process(分散过程)模式

  ·Microkernel(微核)模式

  架构模式常常划分成如下的几种:

  一)、 From Mud to Structure型。帮助架构师将系统合理划分,避免形成一个对象的海洋(A sea of objects)。包括Layers(分层)模式、Blackboard(黑板)模式、Pipes/Filters(管道/过滤器)模式等。

  二)、分散系统(Distributed Systems)型。为分散式系统提供完整的架构设计,包括像Broker(中介)模式等。

  三)、人机互动(Interactive Systems)型,支持包含有人机互动介面的系统的架构设计,例子包括MVC(Model-View-Controller)模式、PAC(Presentation-Abstraction-Control)模式等。

  四)、Adaptable Systems型,支持应用系统适应技术的变化、软件功能需求的变化。如Reflection(反射)模式、Microkernel(微核)模式等。

来自:http://fanqiang.chinaunix.net/program/project/2005-06-16/3316.shtml

Layers架构模式

  在收集到用户对软件的要求之后,架构设计就开始了。架构设计一个主要的目的,就是把系统划分成为很多"板块"。划分的方式通常有两种,一种是横向的划分,一种是纵向划分。

  横向划分将系统按照商业目的划分。比如一个书店的管理系统可以划分成为进货、销售、库存管理、员工管理等等。

  纵向划分则不同,它按照抽象层次的高低,将系统划分成"层",或叫Layer。比如一个公司的内网管理系统通常可以划分成为下面的几个Layer:

  一、网页,也就是用户界面,负责显示数据、接受用户输入;

  二、领域层,包括JavaBean或者COM对象、B2B服务等,封装了必要的商业逻辑,负责根据商业逻辑决定显示什么数据、以及如何根据用户输入的数据进行计算;

  三、数据库,负责存储数据,按照查询要求提供所存储的数据。

  四、操作系统层,比如Windows NT或者Solaris等

  五、硬件层,比如SUN E450服务器等

  有人把这种Layer叫做Tier,但是Tier多带有物理含义,不同的Tier往往位于不同的计算机上,由网络连接起来,而Layer是纯粹逻辑的概念,与物理划分无关。

  Layers架构模式的好处是:

  第一、任何一层的变化都可以很好地局限于这一层,而不会影响到其他各层。

  第二、更容易容纳新的技术和变化。Layers架构模式容许任何一层变更所使用的技术
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐