
设计模式
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。
迎风来Dora
记录学习,记录生活
展开
-
【设计模式】——结构型设计模式
结构型设计模式涉及如何组合类和对象以获得更大得结构。结构类模式采用继承机制来组合接口或实现。结构型对象模式不是对接口和实现进行组合,而是描述了如何对一些对象进行组合,从而实现新功能得一些方法。因为可以在运行时刻改变对象组合关系,所以对象组合方式具有更大得灵活性,而这种机制用静态组合是不可能实现的。适配器(Adapter)意图:将一个类得接口转换成客户希望得另外一个接口,Adapter模式使得...原创 2019-05-17 10:12:17 · 460 阅读 · 8 评论 -
【设计模式】——创建型设计模式
【什么是创建型设计模式】创建型模式抽象了实例化过程,他们帮助一个系统独立于如何创建、组合和表示它的那些对象,一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。创建型模式有抽象工厂(Abstract Factory)、生成器(Build)、工程方法(Factory Method)、原型(Prototype)、单例(Singleton)。1、抽象工厂(Abs...原创 2019-05-16 15:32:43 · 236 阅读 · 7 评论 -
【C#】机房重构单例模式的使用
【前言】开始的时候不打算用单例模式的,只是敲过例子,不在实践中使用还是不行的,那就行动起来添加一下吧。【单例模式】单例模式Singleton,保证一个类仅有一个是咧,并提供一个访问它的全局访问点【运用】系统的主窗体,每个子窗体都可以多次打开的话,会给用户造成打扰,比如用户在注册的时候,注册一半出去了,回来后打算继续注册,但是之前界面被覆盖了,重新打开了新的窗体,重新注册。这样会给用户造成...原创 2019-03-12 09:31:16 · 226 阅读 · 10 评论 -
【设计模式】——访问者模式(Visitor)
行为型模式——访问者模式(Visitor)定义表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。白话解释7...原创 2018-11-18 09:03:19 · 238 阅读 · 12 评论 -
【设计模式】——中介者模式(Mediator)
行为型模式——中介者模式(Mediator)定义用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示地相互引用,从而使耦合松散,而且可以独立地改变它们之间的交互。**白话解释:**说到这里想到一个例子,古代的姑娘们大多都是“大门不出二门不迈”的姑娘,自然也不会认识什么小伙子,就算是知道了,该怎么去认识呢?在中国的古代有一句话叫做“媒妁之言”,这时候媒人就出现了,给双方互相通信。这是生...原创 2018-11-15 11:33:00 · 279 阅读 · 5 评论 -
【设计模式】——策略模式(Strategy)
行为型模式——策略模式(Strategy)定义:它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。策略模式的结构图
行为型模式——职责链模式(Chain Responsibility)定义:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,知道有一个对象处理它位置。职责链模式结构图部分代码理解Handler类,定义一个处理请示的接口//定义一个处理请示的接口 abstract class Handler { ...原创 2018-11-14 15:51:38 · 342 阅读 · 6 评论 -
【设计模式】——命令模式(Command)
行为型模式——命令模式(Command)定义将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。命令模式结构图部分代码理解...原创 2018-11-14 14:30:31 · 162 阅读 · 6 评论 -
【设计模式】——解释器模式(interpreter)
行为型模式——解释器模式(interpreter)定义:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子解释器模式的结构图:部分代码理解AbstractExpression抽象表达式,声明一个抽象的解释操作,这个接口为语法树中所有的节点(TerminalExpression和NonterminalExpression)所共享//声明一个抽象...原创 2018-11-14 10:32:30 · 187 阅读 · 5 评论 -
【设计模式】——模板方法模式(TemplateMethod)
行为型——模板方法模式(TemplateMethod)定义:一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法的结构图解析:AbstractClass是抽象类(抽象模板),定义并实现了一个模板方法。ConcreteClass,实现父类所定义的一个或多个抽象方法。小时候学习英语的时候重复写的最多的就是英文单...原创 2018-11-13 21:31:03 · 221 阅读 · 5 评论 -
【设计模式】——六大原则
单一职责原则(SRP)定义就一个类而言,应该仅有一个引起它变化的原因如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意向不到的破坏理解:讲一个关于小猫钓鱼的故事吧。小猫和妈妈去钓鱼,刚坐下钓鱼没有多久看到周围有蜻蜓飞过,小猫放下鱼竿去捉蜻蜓了,蜻蜓飞的太快,小猫没有捉到,回...原创 2018-11-11 12:15:38 · 221 阅读 · 4 评论 -
【设计模式】——原型模式(Prototype)
创建型——原型模式(Prototype)中国的四大名著之一——《西游记》中的孙悟空会七十二变,孙悟空经常和妖怪打打闹闹,有时候他想捉弄一下妖怪,变出来N个自己,这时候孙悟空都是一样的,他非常的聪明,知道变成来的自己都是一模一样的没有差别,如果这个时候孙悟空变出来的各模各样,那妖怪不久一下认出自己了吗?今天讲解的原型模式也是如此!接下来给大家进行详细的讲解咯。定义:原型模式(Prototype)...原创 2018-09-22 17:42:58 · 211 阅读 · 16 评论 -
【设计模式】——单例模式(Singleton)
创建型——单例模式(一) 单例模式(singleton):保证一个类仅有一个实例,并且提供一个访问它的全局访问点; 举个例子:当我们去超市买东西的时候,为了保护环境每人限购一个购物袋,不可以无限制的购买,这样顾客拿到的这个袋子就是唯一的一个袋子,不可以分配给他更多的袋子(内存) 实操public partial class Form2 : Form { pri...原创 2018-09-03 21:23:35 · 190 阅读 · 3 评论 -
【设计模式】——适配器模式(Adapter)
定义:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的哪些类可以一起工作 使用范围:系统的数据和行为都正确,但接口不符合时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况...原创 2018-09-22 11:35:30 · 199 阅读 · 14 评论 -
【设计模式】——面向对象基础(重构、抽象类)
【重构】 在前面面向对象三大特性中介绍了有其他动物来报名参加叫声比赛,如果再有更多的小动物来比赛呢?我们在实现相应的动物的类,在继承Animal,这时候我们会发现还有大量重复的代码,那该怎么办呢?这时候我们就可以用到重构了。 重构:指同一个类有 多个同名构造函数 ,但他们参数 不完全相同abstract class Animal { protected str...原创 2018-09-12 17:13:17 · 515 阅读 · 7 评论 -
【设计模式】——面向对象基础(封装、继承、多态)
今天要学习面向对象的三大特性:封装、继承、多态 刚看到这三个词的时候,理解的是 封装:把东西打包好,包装起来就好了。 继承:就像是遗传差不多吧,哈哈。 多态:一个人的形象是多种多样的。 说了半天都是我自己的想象,那么在计算机中什么意思呢?一个一个来说一说! 【封装】 定义:每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖其他对象来完成自己的操作。...原创 2018-09-11 16:36:59 · 257 阅读 · 7 评论 -
【设计模式】——面向对象基础(类、对象)
类与实例 说到类我们不得不说到对象,那什么是对象呢?这里的对象比较有意思,不是之男女朋友的对象哦!哈哈,一切事物皆对象,即所有的东西都是对象,对象是可以看到、感觉到、听到、触摸到,尝到、或者闻到的东西。 对象:(Object-Orietend Programming)对象是来自一个包含的实体,用一组可识别的特性和行为来标识。说了这么多那么类是什么呢? 类:具有相同的属性和功能的对象的抽象的集...原创 2018-09-08 10:57:33 · 250 阅读 · 6 评论 -
【设计模式】——分类(一)
设计模式:(Design Pattern)是一套被反复使用、多数人知晓、经过分类编目的优秀代码设计经验的总结。使用设计模式是为了提高代码的重用性,是代码更易理解并保证代码的可靠性。 设计模式分类 设计模式概括为23种,可以将其分为三大类型:创建型、结构型、行为型 一.创建型:用来创建对象的模式,抽象了实例化的过程,帮助一个系统独立于其他关联对象的创建、组合和表示方式建型模式都有两个主...原创 2018-08-27 21:33:52 · 225 阅读 · 17 评论