设计模式
文章平均质量分 92
追梦人2020
路漫漫其修远兮,吾将上下而求索
展开
-
单例模式
结构图 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Singleton { // 饿汉式实例 //类加载的时候实现实例化 public seale...原创 2018-04-21 23:45:41 · 130 阅读 · 0 评论 -
简单工厂模式
// 工厂类 class Factory { public static Operation CreateOperate(string operate) { Operation oper = null; switch(operate) { ca...原创 2018-04-24 16:41:05 · 96 阅读 · 0 评论 -
工厂方法模式
定义: FactoryMethod 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 客户端 static void Main(string[] args) { IFactory operFactory = new AddFactory(); Opera...原创 2018-04-24 22:47:55 · 115 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式:提供一个创建一系列相关或互相依赖对象的接口,而无需制定他们具体的类。 class User { private int _id;//字段 public int Id // 属性 { set { _id = value; } get { return _id; } } private string _name...原创 2018-05-03 10:54:27 · 90 阅读 · 0 评论 -
里氏替换原则
里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象。 里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。 它包含以下4层含义: 1. 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。 2. 子类中可以增加自己特有的方法。 3. 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。 4. 当子...原创 2018-05-03 11:28:35 · 246 阅读 · 0 评论 -
观察者模式
定义:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己 1. 客户端 namespace Observer { class Program { static void Main(string[] args) { Secret...原创 2018-05-07 08:49:50 · 95 阅读 · 0 评论 -
迭代器模式
定义:提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。 namespace Iterator { class Program { static void Main(string[] args) { ConcreteAggregate a = new ConcreteAggregate(); ...原创 2018-05-07 10:56:50 · 105 阅读 · 0 评论 -
访问者模式
定义:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 namespace Visitor { class Program { static void Main(string[] args) { ObjectStructure o = new ObjectStru...原创 2018-05-08 11:24:29 · 97 阅读 · 0 评论