自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 调停者,观察者,门面模式

调停者(Mediator)模式 调停者模式是常常被滥用的几个模式之一,在下列情况下不应当使用调停者模式。 (1)不应当在责任划分混乱的时候使用 (2)不应当对“数据类”和“方法类”使用          初级设计师常常会设计出这样的一种系统:让一系列类只含有数据,另一些类只含有方法。比如,描述一个客户时,这些设计师首先设计出一个叫做客户数据的类,只含有客户数据;另外再设计一个类叫做“管...

2011-11-15 19:38:22 442

原创 访问者模式

访问者模式

2011-08-26 10:06:47 104

原创 状态模式

状态模式

2011-08-26 10:06:29 82

原创 备忘录模式

备忘录模式又叫快照模式或者Token模式 是对象的行为模式 备忘录模式是备忘录对象保存了发起者对象,在发起者对象变化之后,可以恢复变化之前的状态。 1,备忘录模式的角色: 发起者角色:负责创建备忘录角色,且将当前的对象保存在备忘录对象中去。。 备忘录角色:保存发起者角色的状态。 负责人角色:保存备忘录对象。不负责备忘录角色的内容。 2,模式实例  现在以我们在读书的时候,老是经常用黑...

2011-08-25 16:17:07 90

原创 命令模式

命令模式核心是封装命令类(请求类),每一个命令类作单独的类,分离命令请求者和接受命令执行者。是把请求或者操作封装到一个类中。 命令模式把发出命令和执行命令的责任分割开。 1,命令模式的角色划分: 客户角色:创建命令(请求)对象,确定接收者。 命令角色:抽象命令类接口,提供命令类的统一的抽象接口。 具体命令角色:确定接受者,以及调用接受者的相应方法。 请求者角色:调用命令对象执行请求,发...

2011-08-25 14:40:03 70

原创 责任链模式

责任链模式是一种行为模式。多个处理类组成一个责任链,责任链处理同一个请求,如果处理类不处理就传递给下一个处理类来处理,每个处理类保持对下一个处理类的引用,直到遍历完所有链类直到有类来处理为止。 纯的责任链有两种行为:要么处理掉,要么不处理掉。 不纯责任链:处理器只处理其中一部分请求逻辑,责任链中所有处理器类可以不处理请求。   这里以 病人看病。刚好 脚受伤。。不知道找哪个科室。分别找内科...

2011-08-24 21:40:02 62

原创 模板方法模式

这个模式相对来说也比较简单。

2011-08-24 13:35:44 62

原创 策略模式

策略模式是比较常用的一种模式.封装不算法。每一个算法封装在不同类中。然后根据客户端的需求。选择相应的算法。 策略模式主要角色: 环境角色:一般会持有策略类的父类引用。 抽象策略角色:提供策略类的共有行为和接口。 具体策略角色:每个策略包装一种算法和行为。 现在以人不同方式回家为例。。把每种回家方式封装成一个不同的算法,分别封装在不同的类中 //抽象回家方式接口。封装一个父类接口 pu...

2011-08-23 16:02:35 71

原创 不变模式

不变模式比较简单,一般设计成一个类或者一个继承等级结构。 不变模式分弱不变模式和强不变模式 弱不变模式: 对象的状态不会改变,不提供任何修改对象状态的方法。所有的属性都是私有的。  子类继承可能存在修改内部对象 的方法。 强不变模式:   类的设计成final类,不可被继承。对象的内部状态初始化时,就固定。不提供任何修改内部状态的方法。如果引用的外部对象是可变的。提供复制之后的引用的外...

2011-08-23 15:42:01 79

原创 桥梁设计模式(柄体设计模式)

桥梁设计是将抽象化和实现化分离。抽象化就是指模型的抽象化,是实现化是行为的实现化。这个是模式讲模型和行为进行分离。然后让各自的两个等级结构各自独立的变化。然后行为的等级结构组合到模型的等级结构中。可以任意组合。实现多项功能。 角色如下:  抽象化角色:实际上是对实体领域对象的抽象,不包含这个实体的行为实体。但是具体子类会保存实现化角色的引用。 修正抽象化角色:这个实际上抽象化角色的子类。但是...

2011-08-22 23:51:45 176

原创 适配器模式(变压器模式)

为什么要 用适配器模式。就是把两个完全不关联或者不相同的类纠合一起时才使用这个模式。 这个模式涉及到角色: 源角色:需要适配的角色。 目标角色:期待使用的接口。 适配器角色:把源角色转化成目标角色。这个是模式的核心。着重转化功能。 适配器模式分两种情况: 类的适配器模式和对象的适配器模式 。 首先来讲讲类的适配器模式: 如下例: 指方为圆的故事。 //方形接口 public inter...

2011-08-22 21:42:32 131

原创 享元模式

享元模式的角色划分: 1,抽象享元角色:享元角色需要实现的公共接口。外蕴状态可以通过商业方法以参数的形式传入。 2,具体享角色:负责维护内蕴状态。且提供内蕴含状态的空间。内蕴状态不与环境有关,对象初始化时,内蕴含状态就已经产生。 3,享元工厂角色:负责维护和管理享元角色,在工厂中没有找到相应的享元对象,则负责创建相应的享元对象。  本质工厂角色应该是个享元对象的容器。 4,客户端角色:自...

2011-08-18 08:53:40 64

原创 装饰器模式(包裹模式)

装饰器模式的形象理解油漆工刷油漆。油漆工是装饰器角色,被刷者是被装饰器角色。 装饰器分四个角色 抽象构件角色:增加附加功能的一个抽象接口。也就是被装饰的一个抽象角色。 具体构件角色:抽象构件角色的实现类。 装饰器角色:持有抽象构件觉得一个变量引用。切也要与抽象构件角色同一接口。 具体装饰器角色:装饰器角色的实现类。具体附加功能到抽象角色。 说了这么多。。还是用实例来描述比较形象。下面一...

2011-08-16 09:58:56 110

原创 组合设计模式(合成模式)

组合设计模式(部分-整体设计模式) 主要角色涉及三个 抽象构件角色(component):规定参加参加组合的对象共有的行为,这个接口可以用来管理所有的子对象。 树叶构件角色:参加对象组合的树叶对象。给出add(),remove()之类的方法的平庸实现。一般针对树叶构件的角色不提供add(),remove()等管理子对象的方法。 树枝构件角色:参加组合的对象含有子对象的对象。 组合模式以...

2011-08-14 23:35:34 85

原创 设计模式的6大原则

设计最常遵守的6大原则 第一原则: “开--闭”原则,一个软件实体(或者说一个模块)对修改关闭,对扩展开放。 针对一个模块。在不修改代码前提下可以被扩展。要做一下两点 1,抽象化,抽象化可以导出不同的具体化。 2,对可变性的封装,原则是多个可变性应该封装在不同的类中 第二原则 里氏代换原则。 1,使用对象的基类,都可以用子类代换。任何使用基类的地方都适用子类 第三原则...

2011-08-14 07:23:45 108

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除