设计模式
IQ007伟哥
只喜欢炫耀各种技术的宅男
展开
-
设计模式——简单工厂模式
转载请注明出处!简单工厂模式简单说明:用一个单独的类来实现创造实例的过程,这就是工厂。这里用简单工厂模式设计一个简单的控制台计算器,用户输入数字A和数字B,并输入一个运算符,然后得到计算结果。这里的工厂类作用就是根据运算符创建不同的运算类,而每个运算类就相当于不同产品,互不影响。简单代码说明如下://运算操作的父类,各种操作运算继承此类 public clas原创 2017-02-28 20:44:25 · 526 阅读 · 0 评论 -
设计模式——观察者模式
观察者模式说明:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。观察者模式还是比较好理解的,举个猫捉老鼠的例子,一群老鼠在找食物,那么这群老鼠都是观察者,当猫来了的时候,所有的老鼠应该都会受到惊吓,然后做出相应的反应。以下是观察者模式的简单模版: //主题,抽象通知者,一般由一个抽象原创 2017-10-09 08:58:20 · 384 阅读 · 0 评论 -
设计模式——建造者模式
转载请注明出处!建造者模式说明:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。先来一份建造者模式代码的模版: //产品类,由多个部件组成 public class Product { IList parts = new List(); public void Add(string part)原创 2017-10-09 08:57:02 · 525 阅读 · 0 评论 -
设计模式——外观模式
转载请注明出处!外观模式说明:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。先看外观模式的简单代码模版: //以下是三个简单的子系统类 //子系统一 class SubSystemOne { public void MethodOne() {原创 2017-10-09 08:55:52 · 378 阅读 · 0 评论 -
设计模式——模版方法模式
转载请注明出处!模版方法模式说明:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模版方法模式就是提供了一个很好的代码复用平台,是通过把不变行为搬移到超类,去除子类的重复代码来体现它的优势。下面直接看此模式的简单模版代码: //抽象模版,定义并实现一个模版方法 abstract class原创 2017-10-09 08:54:30 · 869 阅读 · 0 评论 -
设计模式——原型模式
转载请注明出处!原型模式说明:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。下面是原型模式基本代码: //抽象原型类 abstract class Prototype { public string Id; public Prototype(string id) { I原创 2017-10-09 08:53:16 · 297 阅读 · 0 评论 -
设计模式——工厂方法模式
转载请注明出处!工厂方法说明:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。先来一份工厂方法模式的Template,此Template是与简单工厂模式的例子一样,实现计算器的运算功能( 在此可以先回顾下简单工厂模式的例子): //运算操作的父类,各种操作运算继承此类 public class Operation {原创 2017-10-09 08:52:02 · 316 阅读 · 0 评论 -
设计模式——装饰模式
转载请注明出处!装饰模式说明:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。装饰模式可简单理解为:为已有功能动态的添加更多功能的一种方式,以下是简单的模版代码://Component是定义一个对象接口,可以给这些对象动态的添加职责 abstract class Component { public abstract原创 2017-02-28 20:46:53 · 285 阅读 · 0 评论 -
设计模式——策略模式
转载请注明出处!策略模式说明:它定义了算法家族,分别封装起来,让它们之间可以相互替换。此模式让算法的变化,不会影响到使用算法的用户话不多说,直接上模版代码://上下文,维护对Strategy对象的引用 class Context { Strategy strategy; public Context(Strategy strategy原创 2017-02-28 20:45:27 · 307 阅读 · 0 评论 -
设计模式——代理模式
转载请注明出处!代理模式说明:为其他对象提供一种代理以控制对这个对象的访问。以下是代理模式的基本模版代码: //抽象对象类,定义了RealSubject和Proxy的共用接口 //这样就在任何使用RealSubject的地方都可以使用Proxy abstract class Subject { public abstract void原创 2017-02-28 20:47:32 · 387 阅读 · 0 评论 -
设计模式——常用的设计原则
转载请注明出处!1、单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。说明:单一职责是一种必需的思想,即职责相互分离。 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当发生变化时,设计会遭受到意想不到的破坏。 软件设计真正要做的许多内容,就是法原创 2017-02-28 20:46:13 · 308 阅读 · 0 评论 -
设计模式——抽象工厂模式
抽象工厂模式说明:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。下面以一个公司的员工和部门在数据库中的访问模式来举例:Tables: //用户类 public class User { private int _id; public int ID { get {原创 2017-11-10 10:35:27 · 408 阅读 · 0 评论