自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浊酒入清梦的博客

雨夜听落叶,浊酒入清梦。

  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 C# 设计模式-访问者(Visitor)

将每个类中的相关操作封装到一个独立的对象(Visitor)中,使得数据和操作进行分离。从而在不改变各元素类的前提下,定义有关这些元素的新操作。主要组成: Visitor-访问者父类,为每个元素声明一个访问操作。 ConcreteVisitor-具体访问者,实现Visitor父类声明的访问操作。 Element-元素父类,定义Accept(接受访问)操作。 ConcreteElement-具体

2018-01-13 19:03:03 365

原创 C# 设计模式-模板方法(Template Method)

定义一个操作中的算法骨架,将某些步骤延迟到子类中实现,使得子类可在不改变算法结构的前提下重定义某些步骤。主要组成:AbstractClass-抽象父类,实现模板方法,定义算法的骨架。 ConcreteClass-具体子类,重定义模板方法中的某些特定步骤。策略与模板方法区别:策略使用委托调用其他类来改变算法。 模板方法使用继承来改变算法的实现。相关类:using System;namespac

2018-01-12 18:11:32 1505

原创 C# 设计模式-策略(Strategy)

定义一系列算法,把它们分别封装起来,使得它们可相互替换。最终各个算法可以独立变化。主要组成: Strategy-策略父类或接口 ConcreteStrategy-具体策略,实现不同算法 Context-上下文,客户通过该类对不同策略进行调用状态与策略的区别: 状态:对象内部状态的变化,从而表现为不同的行为,关键在于对象内部。 策略:对象使用不同的策略达到类似的目的,关键在于对象外

2018-01-11 20:30:37 232

原创 C# 设计模式-状态(State)

允许一个对象在其内部状态改变时改变它的行为。主要组成: Context-环境,上下文,客户主要使用该类 State-状态父类或接口 ConcreteState-具体状态相关类:using System;namespace State{ /// <summary> /// 手机(环境) /// </summary> class TelephoneContext

2018-01-10 18:37:17 741

原创 C# 设计模式-观察者(Observer)

定义对象间的一种一对多的依赖关系,当目标发生变化时,它的所有观察者得到通知被自动更新。主要组成:Subject-目标ConcreteSubject - 具体目标Observer-观察者ConcreteObserver-具体观察者相关类:using System;using System.Collections.Generic;namespa

2018-01-09 18:47:37 328

原创 C# 设计模式-备忘录(Menento)

在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存该状态。使得该对象可恢复到原先保存的状态。主要组成:Menento-备忘录,存储原发器的内部状态。Originator-原发器,创建备忘录,用于记录内部状态Caretaker-负责人,负责备忘录的管理相关类:using System.Collections.Generic;namespac

2018-01-08 18:32:05 405

原创 C# 设计模式-中介者(Mediator)

用一个中介对象来封装一系列对象的交互,使得各对象不需要显示地相互引用,从而耦合松散。主要组成:Mediator-中介者父类或接口ConcreteMediator-具体中介者Colleague-同事父类ConcreteColleague-具体同事类相关类:using System;using System.Collections.Generic;na

2018-01-07 19:47:34 1081

原创 C# 设计模式-迭代器(Iterator)

提供一种方法顺序访问一个聚合对象中的各个元素,而不暴露该对象的内部表示。主要组成:Aggregate-聚合父类或接口ConcreteAggregate-具体聚合对象Iterator-迭代器父类或接口ConcreteIterator-具体迭代器相关类:using System;using System.Collections.Generic;na

2018-01-06 18:38:15 996

原创 C# 设计模式-解释器(Interpreter)

给定一个语言,定义它文法的一种表示,并定义一个解释器,用于解释该表示。主要组成:AbstractExpression-抽象表达式TerminalExpression-终止符表达式NonterminalExpression-非终止符表达式Context-上下文相关类:using System;namespace Interpreter{

2018-01-05 20:45:10 2106

原创 C# 设计模式-命令(Command)

将一个请求封装为一个对象,达到用不同请求对客户进行参数化。调用者通过某个命令来调用接收者执行相关操作,减弱调用者与接收者的耦合度。主要组成:Command-命令父类或接口ConcreteCommand-具体命令Invoker-调用者Receiver-接收者,执行命令指定的相关操作相关类:using System;namespace Command{

2018-01-04 18:32:00 1954

原创 C# 设计模式-职责链(Chain of Responsibility)

使多个对象都有机会处理请求,将这些对象连成一条链,并沿着该链传递请求,知道有对象处理它为止。主要组成: Handler-处理者父类 ConcreteHandler-具体处理者相关类:using System;namespace ChainofResponsibility{ /// <summary> /// 处理者父类 /// </summary> abstra

2018-01-03 18:47:09 286

原创 C# 设计模式-代理(Proxy)

为对象提供代理,以控制对该对象的访问。主要组成:Subject-代理和实体的共用类或接口 Proxy-代理 RealSubject-实体适配器与代理的区别:适配器为对象提供一个不同的接口。 代理提供与实体相同的接口。装饰和代理的区别:装饰为对象动态添加额外功能。 代理则控制对象的访问。相关类:using System;namespace Proxy{ /// <summar

2018-01-02 18:38:58 2854

原创 C# 设计模式-享元(Flyweight)

使用共享技术支持大量细粒度的对象主要组成: FlywieghtFactory-享元工厂,复制创建和管理享元对象 Flyweight-享元父类或接口 ConcreteFlyweight-具体享元对象相关类:using System;using System.Collections.Generic;namespace Flyweight{ /// <summary> /// 共

2018-01-01 21:26:19 312

es-demo-master.zip

https://github.com/Mengzuozhu/es-demo 源码

2021-11-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除