• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
天空の纸飞机
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

随笔分类 -  设计模式

 
行为型---中介者模式(Mediator Pattern)
摘要:中介者模式的定义 中介者模式,定义了一个中介对象来封装一系列对象之间的交互关系。中介者使各个对象之间不需要显式地相互引用,从而使耦合性降低,而且可以独立地改变它们之间的交互行为。 中介者模式的定义 中介者模式的结构 从生活中例子自然知道,中介者模式设计两个具体对象,一个是用户类,另一个是中介者类,根 阅读全文
posted @ 2018-04-01 22:21 天空の纸飞机
行为型---状态者模式(State Pattern)
摘要:状态者模式的介绍 每个对象都有其对应的状态,而每个状态又对应一些相应的行为,如果某个对象有多个状态时,那么就会对应很多的行为。那么对这些状态的判断和根据状态完成的行为,就会导致多重条件语句,并且如果添加一种新的状态时,需要更改之前现有的代码。这样的设计显然违背了开闭原则。状态模式正是用来解决这样的问 阅读全文
posted @ 2018-04-01 22:11 天空の纸飞机
行为型---命令模式(Command Pattern)
摘要:命令模式的定义 命令模式属于对象的行为型模式。命令模式是把一个操作或者行为抽象为一个对象中,通过对命令的抽象化来使得发出命令的责任和执行命令的责任分隔开。命令模式的实现可以提供命令的撤销和恢复功能。 Receive接收者角色 该角色就是干活的角色,命令传递到这里是应该被执行的。 Command命令角 阅读全文
posted @ 2018-04-01 22:04 天空の纸飞机
结构型---享元模式(Flyweight Pattern)
摘要:引言 在软件开发过程,如果我们需要重复使用某个对象的时候,如果我们重复地使用new创建这个对象的话,这样我们在内存就需要多次地去申请内存空间了,这样可能会出现内存使用越来越多的情况,这样的问题是非常严重,然而享元模式可以解决这个问题,下面具体看看享元模式是如何去解决这个问题的。 享元模式的详细介绍 阅读全文
posted @ 2018-04-01 21:10 天空の纸飞机
结构型---装饰者模式(Decorator Pattern)
摘要:定义 装饰者模式以对客户透明的方式动态地给一个对象附加上更多的责任,装饰者模式相比生成子类可以更灵活地增加功能。 Component抽象构件 Component是一个接口或者是抽象类,就是定义我们最核心的对象,也就是最原始的对象。 ConcreteComponent具体构件 ConcreteComp 阅读全文
posted @ 2018-04-01 09:32 天空の纸飞机
结构型---组合模式(Composite Pattern)
摘要:组合模式的定义 组合模式允许你将对象组合成树形结构来表现”部分-整体“的层次结构,使得客户以一致的方式处理单个对象以及对象的组合。 组合模式实现的最关键的地方是——简单对象和复合对象必须实现相同的接口。这就是组合模式能够将组合对象和简单对象进行一致处理的原因。 Component抽象构件 定义参加组 阅读全文
posted @ 2018-04-01 09:29 天空の纸飞机
结构型---外观模式(Facade Pattern)
摘要:定义 外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。使用外观模式时,我们创建了一个统一的类,用来包装子系统中一个或多个复杂的类,客户端可以直接通过外观类来调用内部子系统中方法,从而外观模式让客户和子系统之间避免了紧耦合。 外观模式代码: /// 阅读全文
posted @ 2018-04-01 09:26 天空の纸飞机
结构型---适配器模式(Adapter Pattern)
摘要:适配器模式——把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作。适配器模式有类的适配器模式和对象的适配器模式两种形式,下面我们分别讨论这两种形式的实现和给出对应的类图来帮助大家理清类之间的关系。 类的适配器模式,具体对应的类图为: 对象的适配器模 阅读全文
posted @ 2018-04-01 09:22 天空の纸飞机
结构型---桥接模式(Bridge Pattern)
摘要:定义 桥接模式即将抽象部分与实现部分脱耦,使它们可以独立变化。桥接模式的目的就是使两者分离,根据面向对象的封装变化的原则,我们可以把实现部分的变化封装到另外一个类中,这样的一个思路也就是桥接模式的实现。 Abstraction 抽象化角色 它的主要职责是定义出该角色的行为,同时保存一个对实现化角色的 阅读全文
posted @ 2018-04-01 09:17 天空の纸飞机
结构型---代理模式扩展
摘要:普通代理:就是我们要知道嗲了的存在,然和才能访问;它要求就是客户端只能访问代理角色,而不能访问真实角色,这是比较简单的。 具体代码: namespace ConsoleApplication1 { /// <summary> /// 游戏者接口 /// </summary> public inter 阅读全文
posted @ 2018-03-31 23:08 天空の纸飞机
结构型---代理模式(Proxy Pattern)
摘要:代理模式的详细介绍 代理模式按照使用目的可以分为以下几种: 远程(Remote)代理:为一个位于不同的地址空间的对象提供一个局域代表对象。这个不同的地址空间可以是本电脑中,也可以在另一台电脑中。最典型的例子就是——客户端调用Web服务或WCF服务。 虚拟(Virtual)代理:根据需要创建一个资源消 阅读全文
posted @ 2018-03-31 23:00 天空の纸飞机
创作型---抽象工厂模式
摘要:抽象工厂详细介绍 具体代码: namespace ConsoleApplication1 { /// <summary> /// 抽象产品A类 /// </summary> public abstract class AbstractProductA { //每个产品共有的方法 public voi 阅读全文
posted @ 2018-03-31 22:49 天空の纸飞机
创作型---工厂方法模式
摘要:工厂方法模式 从UML图可以看出,在工厂方法模式中,工厂类与具体产品类具有平行的等级结构,它们之间是一一对应的。针对UML图的解释如下: Creator类:充当抽象工厂角色,任何具体工厂都必须继承该抽象类 TomatoScrambledEggsFactory和ShreddedPorkWithPota 阅读全文
posted @ 2018-03-31 22:43 天空の纸飞机
创作型---简单工厂模式
摘要:简单工厂模式又叫静态方法模式(因为工厂类都定义了一个静态方法),由一个工厂类根据传入的参数决定创建出哪一种产品类的实例(通俗点表达:通过客户下的订单来负责烧那种菜)。简单工厂模式的UML图如下: 简单工厂的实现: namespace TempApplication { /// <summary> / 阅读全文
posted @ 2018-03-31 22:39 天空の纸飞机
创作型---建造者模式
摘要:建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式使得建造代码与表示代码的分离,可以使客户端不必知道产品内部组成的细节,从而降低了客户端与具体产品之间的耦合度,下面通过类图来帮助大家更好地理清建造者模式中类之间的关系。 阅读全文
posted @ 2018-03-31 22:28 天空の纸飞机
创作型---原型模式(C# ICloneable接口的实现)
摘要:在软件系统中,当创建一个类的实例的过程很昂贵或很复杂,并且我们需要创建多个这样类的实例时,可以通过对原来对象拷贝一份来完成创建,这样在内存中不需要创建多个相同的类实例,从而减少内存的消耗和达到类实例的复用。 然而这个思路正是原型模式的实现方式。下面就具体介绍下设计模式中的原型设计模式。 代码: pu 阅读全文
posted @ 2018-03-31 22:14 天空の纸飞机
创作型---单例模式
摘要:定义 单例模式也就是保证一个类只有一个实例的一种实现方法罢了(设计模式其实就是帮助我们解决实际开发过程中的方法, 该方法是为了降低对象之间的耦合度,然而解决方法有很多种,所以前人就总结了一些常用的解决方法为书籍,从而把这本书就称为设计模式),下面给出单例模式的一个官方定义:确保一个类只有一个实例,并 阅读全文
posted @ 2018-03-31 22:05 天空の纸飞机
 

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3