![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 52
coder i++
coder i++分享一下 ,记录一下
展开
-
也来学学设计模式
开发过程中遇到好多问题,最近在学设计模式,参考了好多前辈。顺带自己也总结下。原创 2021-05-29 08:53:10 · 62 阅读 · 0 评论 -
C# 设计模式(9)装饰者
参考using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DesignPattern{ public class DecoratorPattern { /* 抽象构件:Phone角色:给出一个抽象接口以规范准备接受附加责任的对象 具体构原创 2021-05-19 17:12:15 · 108 阅读 · 0 评论 -
C# 设计模式(8) 桥接
参考//电视遥控器的例子:每个牌子的电视机都有一个遥控器,将遥控器的功能作为一个抽象类//抽象类中提供遥控器的功能实现,有三星长虹等品牌的遥控器,可以继承此类//后期也可以再加入tcl等品牌//但是随着时间的推移,用户需要改变遥控器的功能,如:添加返回上一个台的功能//这时需要修改抽象类中的接口(添加一个方法),但是我们改变了抽象的实现,如果用户//要同时改变电视机品型号和遥控器功能时,上面的设计会导致大量的修改//可以用桥接模式解决,Bridge中将抽象部分与实现部分解耦,使它们可以独立变化原创 2021-05-12 14:32:30 · 123 阅读 · 0 评论 -
C# 设计模式7 适配器(Adapter)
参考//实际的开发过程中,由于应用环境的变化(如使用语言的变化),我们需要//的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象//如何将现存的对象在新的环境中进行调用呢?//AdapterPattern 使得新环境中不需要去重复实现已经存在了的实现 而很好地把现有对象//(指原来环境中的现有对象)加入到新环境来使用//适配器模式:把一个类的接口换成客户端所期待的另一种接口,从而使原本接口不匹配而//无法一起工作的两个类能够在一起工作。//适配器模式有类的适配器模式和原创 2021-05-11 18:00:06 · 192 阅读 · 0 评论 -
C# 设计模式6 原型(Prototype)
参考//Prototype Pattern//当创建一个类的实例的过程很昂贵或很复杂,并且我们需要创建多个这样类的实例时,//如果我们用new去创建会增加复杂度和浪费内存空间,如果采用工厂模式来创建的话//随着产品类的不断增加,导致子类的数量不断增多,反而增加了系统的复杂程度,所以//用工厂模式封装类创建过程并不合适,原型模式可以很好的解决这个问题。//因为每个类的实例都是相同的,没必要来new一个新的实例。//思路就是只创建一个类实例对象,如果后面需要更多这样的实例,可以通过对原来对象//原创 2021-05-11 16:30:04 · 120 阅读 · 0 评论 -
C# 设计模式5 建造者(Builder)
参考using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DesignPattern{ public class BuilderPattern { //由于BuilderPattern隐藏了具体产品的组装过程,所以要改变一个产品的内部表示, //只需要再实现一原创 2021-05-10 14:39:03 · 117 阅读 · 0 评论 -
C# 设计模式4 抽象工厂(AbstractFactory)
学习using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DesignPattern{ //3FactoryMethod是为了克服2SimpleFactory的缺点而设计的 //2SimpleFactory的工厂类随着产品类的增加需要额外的代码, //而3FactoryMethod模式每个具体的工厂类原创 2021-05-10 11:15:34 · 209 阅读 · 0 评论 -
C# 设计模式1 单例(Singleton)
学习:https://www.cnblogs.com/zhili/p/SingletonPatterm.htmlusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DesignPattern{ /// <summary> /// 单例模式 /// </summar原创 2021-05-08 16:52:50 · 125 阅读 · 0 评论 -
C# 设计模式2 简单工厂(SimpleFactory)
参考using System;namespace DesignPattern{ /// <summary> /// 简单工厂模式 /// </summary> //封装改变,把要改变的类进行封装 //在加入新类的时候 依然要添加新类并修改工厂中的方法 工厂类中集中了所有的产品创建逻辑,一旦不能正常工作,整个系统会受到影响 //系统扩展困难,要添加新产品不得不修改工厂逻辑,导致工作逻辑复杂 //当创建对象少的时候可以使用原创 2021-05-08 16:58:13 · 120 阅读 · 0 评论 -
C# 设计模式3 工厂方法(FactoryMethod)
参考using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DesignPattern{ /// <summary> /// 工厂方法模式 /// </summary> //把具体类的创建推迟到子类中,工厂不再负责产品创建,只是给出工厂必须实现的接口;这原创 2021-05-08 16:59:53 · 126 阅读 · 0 评论