![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Design Pattern
文章平均质量分 89
Donnie2016
历史告诉我们,项目开发中踏过的所有坑,都TM是自己挖的...
展开
-
C#设计模式之代理模式(Proxy Pattern)
装饰模式解释: 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。使用时机:1. 远程(Remote)代理。如WebService,当程序加入一个WebService引用时,项目就会生成一个WebReference的文件夹和一些文件,它们就是代理。这就使得客户端原创 2016-10-14 18:41:30 · 406 阅读 · 0 评论 -
C#设计模式之装饰模式(Decorator Pattern)
装饰模式解释: 装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。特点:1. 装饰对象和真实对象有相同的接口。这样客户端对象就能以和真实对象相同的方式和装饰对象交互。2. 装饰对象包含一个真实对象的引用(reference)3. 装饰对象接受所有来自客户端的请求。原创 2016-10-08 12:42:29 · 1043 阅读 · 0 评论 -
C#设计模式之建造者模式(Builder Pattern)
模式解释: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。模式类型: 创造类模式。使用时机: 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。如在Windows中就只原创 2016-11-17 19:39:01 · 695 阅读 · 0 评论 -
C#设计模式之单例模式(Singleton Pattern)
单例模式解释: 一个类有且仅有一个实例,并且自行实例化向整个系统提供。这一模式的目的是使得类的一个对象成为系统中的唯一实例。使用时机: 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。如在Windows中就原创 2016-11-08 14:33:56 · 572 阅读 · 0 评论 -
C#设计模式之工厂方法模式(Factory Method Pattern)
装饰模式解释: 工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。 工厂方法模式是简单工厂模式的衍生,解原创 2016-10-17 19:00:32 · 646 阅读 · 0 评论 -
C#设计模式之简单工厂模式(Simple Factory Pattern)
简单工厂模式解释: 简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式中包含的角色及其相应的职责如下: 工厂角色(Creator):这是简原创 2016-10-07 18:20:58 · 518 阅读 · 0 评论 -
C#设计模式之策略模式(Strategy Pattern)
概述: 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每一个算法封装起来,使得它们可以互换”。下面就以一个示意性的实现讲解策略模式实例的结构。这个模式涉及到三个角色:环境(Context)角色:持有一个St原创 2016-10-07 19:27:30 · 3826 阅读 · 1 评论 -
C#设计模式之桥接模式(Bridge Pattern)
模式解释: 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。 桥接模式是将两个角色之间的继承关系改为聚合关系,就是将它们之间的强关联改换成为弱关联。因此,桥接模式中的所谓脱耦,就是指在一个软件原创 2016-12-06 20:45:07 · 463 阅读 · 0 评论