除了传统的设计模式外,另外还有一些大的方面-如何从宏观构建软件项目-框架模式一 基础
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架构模式容许任何一层变更所使用的技术
相关文章推荐
- 借书20041102_《设计模式:可复用的面向对象软件的基础》《微软项目:求生法则》
- 项目开发中的一些注意事项以及技巧总结 基于Repository模式设计项目架构—你可以参考的项目架构设计 Asp.Net Core中使用RSA加密 EF Core中的多对多映射如何实现? asp.net core下的如何给网站做安全设置 获取服务端https证书 Js异常捕获
- 如何独立设计完成一个软件项目
- 可复用面向对象软件基础——设计模式(一)之总览
- 如何使用Maven和eclipse构建大数据开发框架项目
- 结合项目实例 回顾传统设计模式(七)适配器模式(附外观模式)
- 结合项目实例 回顾传统设计模式(十)状态模式
- 结合项目实例 回顾传统设计模式(一)策略模式
- 结合项目实例 回顾传统设计模式(八)模板方法模式
- Java常用的设计模式08:框架基础知识
- MVVM设计模式基础知识--NotificationObject类(Prism框架)
- 第一章 引言--《设计模式-可复用面向对象软件的基础》Erich Gamma
- 关于软件架构、设计模式和应用框架的一点看法
- 快速入门过程与方法:设计与思路;如何学习新的知识框架,建立思维模式,熟悉应用场景体系
- JSP设计模式基础:View Helper模式——学习如何使用View Helper模式使得Model数据适应表现层的需要(2)
- 如何使用Maven和eclipse构建大数据开发框架项目
- android框架之基础 原型设计模式
- 设计模式(Design Patterns)-可复用面向对象软件的基础 04:建造者模式(Builder)
- 设计模式(Design Patterns)-可复用面向对象软件的基础 06:适配器模式(Adapter)
- java基础第十讲——数据库、单例设计模式、服务器、项目(数据库—服务器—网络)