上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
摘要: 用下面的例子比较: using System; namespace LearnObject { public class LeiFeng { public void Sweep() { Console.WriteLine("扫地"); } public void Wash() { Console.W 阅读全文
posted @ 2020-06-18 20:19 三里路异乡客 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式的优点: 在工厂方法模式中,工厂方法用来创建客户所需要的产品,同时还向客户隐藏了哪种具体产品类被实例化这一细节,用户只需要关心所需产品对应的工厂,无需关心创建细节,甚至无需知道具体产品类的类名。 基于工厂角色和产品角色的多态性设计是工厂方法模式的关键。它能够使工厂可以自主确定创建何种产品 阅读全文
posted @ 2020-06-17 21:26 三里路异乡客 阅读(908) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式的不足 在简单工厂模式中,只提供了一个工厂类,该工厂类处于对产品类进行实例化的中心位置,它知道每个产品对象的创建细节,并决定何时实例化哪个产品类。简单工厂模式的最大的缺点是有当有新产品要加入系统中时,必须修改工厂类,加入必要的处理逻辑,这违背了”开闭原则“。在简单工厂模式中,所有的产品都 阅读全文
posted @ 2020-06-17 19:20 三里路异乡客 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 例子如下: public abstract class Product{ public string productName; } public abstract class ProductFactory{ public Product FactoryMethod(string producType 阅读全文
posted @ 2020-06-16 17:49 三里路异乡客 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式缘起 耦合关系决定软件变化时的行为。 模块之间的紧耦合使用软件面对变化时,相关的模块都要随之更改。 而模块之间的松耦合使得软件面对变化时,一些模块更容易被替换或者更改,但其他模块保持不变。 工厂方法模式得动机 在软件系统中经常面临“某个对象”的创建工作,由于需求的变化,这个对象(具体实现 阅读全文
posted @ 2020-06-16 16:49 三里路异乡客 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 基本实现: public abstract class Product{ } public class ConcretProduct:Product{ } public class Factory{ public static Product CreateProduct(){ return new 阅读全文
posted @ 2020-06-16 15:10 三里路异乡客 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 工厂模式: 专门负责将大量有共同接口的类实例化,而且不必事先知道是要实例化哪个类的模式。 工厂模式有以下几种形态: 简单工厂(Simple Factory)模式 工厂方法模式(Factory Method)模式 抽象工厂模式(Abstract Factory) 根本思想是:对类的实例化进行封装。 角 阅读全文
posted @ 2020-06-16 12:01 三里路异乡客 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 创建型模式概述 创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚具体的实现细节,使整个系统的设计更加符合单一职责原则。 创建型模式在创建什么(What 阅读全文
posted @ 2020-06-16 11:15 三里路异乡客 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 单例模式作为一种目标明确、结构简单、容易理解的设计模式,在软件开发中使用频率相当高,在很多游戏和框架中都得以广泛应用。 单例模式的优点如下: 1、单例模式提供了对唯一实例的受控访问。因为单例类封装了它的唯一实例,所以它可以严格控制客户怎样以及何时访问它。 2、由于系统内存中只存在一个对象,因此可以节 阅读全文
posted @ 2020-06-15 23:02 三里路异乡客 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 普通懒加载多线程单例 using System; public class Singleton<T> where T : class, new() { private static volatile T instance; private static readonly object syncRoo 阅读全文
posted @ 2020-06-15 19:00 三里路异乡客 阅读(262) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 11 下一页