有些人常常使用设计模式(Design Pattern)一词来指所有直接处理软件的架构、设计、程序实现的任何种类的模式。另外一些人则强调要划分三种不同层次的模式:架构模式(Architectural Pattern)、设计模式(Design Pattern)、成例(Idiom)。成例有时称为代码模式(Coding Pattern)。
Architectural Pattern :
一个架构模式描述软件系统里的基本的结构组织或纲要。架构模式提供一些事先定义好的子系统,指定它们的责任,并给出把它们组织在一起的法则和指南。
一个架构模式常常可以分解成很多个设计模式的联合使用。
Design Pa ...
装饰模式(decorator pattern):
装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。
装饰模式以对客户端透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加以扩展。
装饰模式使用原来被装饰的类的一个子类的实例,把客户端的调用委派到被装饰类。装饰模式的关键在于这种扩展是完全透明的。
装饰模式中的各个角色:
抽象构件(Component)角色:给 ...
适配器模式( Adapter Pattern)把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。又称为转换器模式、变压器模式、包装(Wrapper)模式(把已有的一些类包装起来,使之能有满足需要的接口)。
模式所涉及的角色有:
目标(Target)角色:所期待得到的接口。
源(Adaptee)角色:需要适配的接口。
适配器(Adapter)角色:适配器把源接口转换成目标接口。根据这一角色的实现不同,可分为类的适配器模式(使用继承实现)和对象的适配器模式(使用委派关系实现)。
适配器模式的用意 ...
桥梁模式是对象的结构模式,又称柄体(Handle and Body)模式或接口(Interface)模式。
桥梁模式的用意是 "将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。
by kyo:抽象化有其单独的等级结构,实现化有其单独的等级结构,两者相不互干扰。
抽象化:存在于多个实体中共同的的概念性联系,就是抽象化。作为一个过程,抽象化就是忽略一些信息,从而把不同的实体当作同样的实体对待。
实现化:抽象化的具体实现,就是实现化,一个类的实例就是这个类的实现化,一个具体子类是它的抽象超类的实现化 ...
外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式。
设计模式的任务就是协助设计师处理复杂系统的设计。设计师处理复杂系统的一个常见方法便是将其 "分而治之" ,把一个系统划分为几个较小的子系统。
门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面(Facade)对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。
门面模式中的角色:
门面(Facade)角色:客户端可以调用这个角色的方法。在正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去。
...
代理模式(利用间接通信改善系统设计的模式):
代理模式给某一对象提供一个代理对象,并由代理对象控制对原对象的引用。
间接性的通信可以给出较低的耦合关系,较强的合作关系,以及微妙的结构和易于复用的设计架构。
所谓代理(proxy or surrogate),就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
如果按照使用目的来划分,代理有以下几种:
远程(Remote)代理:
虚拟(Virtual)代理:
Copy-on-Write ...
- 浏览: 3035 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最新评论
-
设计模式之门面(Facade)
-- by tang_haih -
我是如何节约时间的
我最近正在努力恢复这些习惯,而你已经做到了,赞
-- by 王者之剑 -
在 eclipse 中使用 tomca ...
哈哈,我的两个网站:BT网站与最新电影网就是这个环境下开发的.
-- by wangdei -
在 eclipse 中使用 tomca ...
呵,做游戏方面的.
-- by zhouzhao21 -
我是如何节约时间的
我会问自己,"如果我不做这件事情的话,是否会出现极其严重的后果呢?" 如果答案是 ...
-- by Sam1860






评论排行榜