设计模式
设计模式
碰碰qaq
前端GIS领域
展开
-
设计模式---建造型(1)
3.1简单工厂模式: 定义一个类来创建其他类的实例,被创建类的实例具有一个公共基类。 public class BaseA{} public class BaseA1:BaseA{} public class BaseA2:BaseA{} public class Factory...原创 2018-09-17 21:47:13 · 206 阅读 · 0 评论 -
设计模式---行为型
访问者模式: 模拟不同身份打开窗体,实现不同的功能: class Program { static void Main(string[] args) { FORM f = new FORM(); Visitor v1 = new AdminVisitor(); Visitor v2...原创 2018-11-16 08:24:21 · 143 阅读 · 0 评论 -
设计模式---状态模式
状态模式:主要解决的是当控制一个对象状态转换的条件表达式(如:频繁的使用if ...... else if...... )过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的逻辑简化。 抽象状态类(State类):抽象状态类定义了一个具体状态类需要实现的行为约定。 具体状态类(ConcreteState类):具体状态类,实现抽象状态类的每个行为。 具体类(Cont...原创 2018-11-14 09:55:36 · 90 阅读 · 0 评论 -
设计模式---策略模式
策略模式:把 使用方法的责任 和 方法本身 分割开,委派给不同的对象负责。 策略模式适用于: 桌面应用程序作为策略持有者,具体的逻辑作为作为策略类。 它把一系列的 方法 包装到一系列的策略类里面。 abstract class Strategy { public abstract void Excute(); ...原创 2018-10-08 10:21:31 · 184 阅读 · 0 评论 -
设计模式---模板方法模式
模板方法模式:在一个抽象类中定义一个操作中的算法骨架。而将一些步骤延迟到子类中去实现。 模板方法使得子类可以不改变一个算法的结构前提下,重新定义算法的某些特定步骤, 模板方法模式把不变行为搬到超类中,从而去除了子类中的重复代码。 abstract class fu { public Excute() ...原创 2018-10-06 20:29:59 · 120 阅读 · 0 评论 -
设计模式---适配器模式
适配器模式:把一个类的接口变换成客户端所期待的另一种接口(以两孔、三孔插座为例) 类的适配器模式: public interface IThreeHole { void Request(); } public abstract class TwoHole { public void SpecificRequest()...原创 2018-09-23 09:31:51 · 224 阅读 · 0 评论 -
设计模式---命令模式
命令模式:将一个请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 abstract class Command { protected Receiver receiver; public Command(Receiver receiver) ...原创 2018-09-23 09:16:46 · 159 阅读 · 0 评论 -
设计模式---观察者模式
观察者模式: 有时被称作发布/订阅模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 Subject:抽象的主题,被观察的对象 ConcreteSubject:具体的被观察对象 Observer:抽象的观察者,定义一个发送变化通...原创 2018-10-05 12:56:47 · 231 阅读 · 0 评论 -
设计模式---访问者模式
模拟不同身份打开窗体,实现不同的功能: class Program { static void Main(string[] args) { FORM f = new FORM(); Visitor v1 = new AdminVisitor(); Visitor v2 = new Us...原创 2018-09-20 12:34:24 · 151 阅读 · 0 评论 -
设计模式---建造型(2)
3.4建造者模式 将复杂的对象构建与其表示相分离,使得同样的构建过程可以创建不同的对象表示。 public class Product { public string PartA{get;set;} public string PartB{get;set;} } ...原创 2018-09-18 18:43:25 · 148 阅读 · 0 评论 -
设计模式---备忘录模式
备忘录模式:保存发起人的状态(状态对应的数据结构,如属性等信息),此模式与命令模式相对应(如行为--即方法等信息)。 定义:在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以把该对象恢复到原先的状态。 发起人角色Originator:记录当前时刻的内部状态,负责创建和恢复备忘录数据。 备忘录角色Memento:负责存储 发起人角色 对象的内部状态,在进行...原创 2018-11-15 09:27:07 · 95 阅读 · 0 评论