![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 61
CCNetCore
犹豫,就会败北
展开
-
【23种GOF设计模式】C#代码完整案例详解--原型模式
来自:CCNetCore社区,一个关注.Netcore领域的社区团队。原型模式PrototypePattern原型模式PrototypePattern 创建型设计模式用于对象的创建,通常用于单例模式中。由于单例模式的对象始终为1个,又要用到单例模式又想每次调用有不一样的结果,可以使用原型模式。添加一个创建实例的方法即可。可通过内存复制或者with关键字进行浅拷贝可通过序列化再反序列化进行深度拷贝要区分一下值类型与引用类型。栈中存储变量,堆存储值。string是一个特殊的引用对象,每次赋值时原创 2022-01-28 21:41:46 · 424 阅读 · 1 评论 -
【23种GOF设计模式】C#代码完整案例详解--建造者模式
来自:CCNetCore社区,一个关注.Netcore领域的社区团队。建造者模式BuilderPattern建造者模式BuilderPattern 创建型设计模式用于更复杂的对象创建,通过类似与组装的方式进行构建。用户无需知道具体实现细节,只用按照每个提供好的方法进行组装调用即可。例如:一辆汽车由方向盘、轮胎、灯光进行构建,可将这些制作过程拆开,通过用户调用进行组装。当然,当零件过多的时候,更可以外面包一层,将多个组装方法放入即可。Program.csusing System;using Sy原创 2022-01-28 21:39:09 · 409 阅读 · 0 评论 -
【23种GOF设计模式】C#代码完整案例详解--抽象工厂
来自:CCNetCore社区,一个关注.Netcore领域的社区团队。抽象工厂AbstractFactory抽象工厂AbstractFactory 创建型设计模式用于复杂对象的创建,是工厂方法的进阶。只是将工厂方法再次继承一个抽象类,用抽奖类接受不同的工厂。Program.csusing FactoryPattern.Sanguosha.Interface;using System;using System.Collections.Generic;using System.Linq;usi原创 2022-01-27 15:49:25 · 308 阅读 · 0 评论 -
【23种GOF设计模式】C#代码完整案例详解--单例模式
来自:CCNetCore社区,一个关注.Netcore领域的社区团队。单例模式Singleton单例模式Singleton 创建型设计模式为了保证对象的唯一性,还可提高程序的性能。单例模式有3种实现方式每次创建时进行判断(需要双重判断)将对象放入静态构造函数种实例将对象放入静态字段中注意:单例模式并不能保证多线程的安全性,一万次并发中可能会错误50次左右Program.csusing System;using System.Collections.Generic;using Syst原创 2022-01-27 15:46:39 · 283 阅读 · 0 评论 -
【23种GOF设计模式】C#代码完整案例详解--简单工厂
来自:CCNetCore社区,一个关注.Netcore领域的社区团队。简单工厂SimpleFactory简单工厂SimpleFactory 创建型设计模式创建对象交由工厂的方法完成,通过枚举switch来进行判断创建什么对象。在一个简单工厂类中会实例化多个具体对象,其实也进行了高度耦合。那么创建对象可有以下方式:枚举,switch判断直接new实例化从配置文件中获取字符串,通过反射进行实例化对象注意:该简单工厂方法并未被23种GOF收录Program.csusing FactoryPat原创 2022-01-27 15:41:15 · 238 阅读 · 0 评论 -
【23种GOF设计模式】C#代码完整案例详解--工厂方法
来自:CCNetCore社区,一个关注.Netcore领域的社区团队。单例模式Singleton单例模式Singleton 创建型设计模式为了保证对象的唯一性,还可提高程序的性能。单例模式有3种实现方式每次创建时进行判断(需要双重判断)将对象放入静态构造函数种实例将对象放入静态字段中注意:单例模式并不能保证多线程的安全性,一万次并发中可能会错误50次左右Program.csusing System;using System.Collections.Generic;using Syst原创 2022-01-27 15:18:51 · 184 阅读 · 0 评论