随笔分类 - C#设计模式系列
介绍C#常用的设计模式
摘要:本文中,我们将介绍设计模式中的行为型模式职责链模式,职责链模式的结果看上去很简单,但是也很复杂。首先我们来了解下现实生活中的链子,如下图:了解职责链之前我们先来了解下职责链模式的模式动机:模式动机 职责链可以是一条直线、一个环或者一个树形结构,最常见的职责链是直线型,即沿着一条单向的链来传递请求。 链上的每一个对象都是请求处理者,职责链模式可以将请求的处理者组织成一条链,并使请求沿着链传递,由链上的处理者对请求进行相应的处理,客户端无须关心请求的处理细节以及请求的传递,只需将请求发送到链上即可,将请求的发送者和请求的处理者解耦。这就是职责链模式的模式动机。模式定义 职责链模式(Chain...
阅读全文
摘要:继上篇简单工厂设计模式之后,今天继续讲解抽象工厂设计模式。在简单工厂中,我们的工厂类一次只可以处理一类产品。那么如果我们想处理多类产品,简单工厂是满足不了的。必须要用抽象工厂设计模式。我们先从概念上来了解下什么是抽象工厂设计模式:•1、提供一系列相互依赖对象的创建工作•2、封装对象常规的创建方法(new)•3、提供统一调用访问方法的方式•4、避免调用访问方法和具体对象创建工作的紧耦合这些概念性的东西看起来比较抽象,直接上图如上图所示,我们如何去更好的理解抽象工厂,首先 我们要分清在这个模式中的几类角色。有抽象工厂,实体工厂,抽象产品,实体产品,客户(调用代码的类)。•抽象工厂设计模式中各个对象
阅读全文
摘要:今天分享设计模式中最简单的一种模式 简单工厂模式。先从面向对象说起,面向对象有三大特性:继承,封装,多态。所谓封装:在面向对象语言中,我们都是以类来组织代码,类中定义了属性和方法,我们在调用的时候只需要去使用对象的方法名或者属性名就可以了,而不必甚至不需要知道方法的具体实现,类比生活中的例子,榨汁机。我们只知道用它可以榨果汁,放个苹果给我们一杯苹果汁,放个桔子给我们一杯桔子汁就可以了。我们不必要去关心 榨汁机是怎么去工作的。所谓继承:就是子类继承了父类,父类所有的非私有的方法和属性,子类都可以拿来直接使用。就好比生活中,父亲给儿子留了一笔遗产。你可以直接使用这笔钱而不需要去创造这笔钱然后在去使
阅读全文