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

框架模式

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)型,支持包含有人机互动介面的系统的架构设计,例子包括MVCModel-View-Controller)模式、PACPresentation-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架构模式容许任何一层变更所使用的技术

你可能感兴趣的:(设计模式)