设计模式
文章平均质量分 88
一个好的设计模式,可以事半功倍。
胖胖的懒羊羊
努力成为一名优秀的开发者。
很高兴,能够遇见你️
展开
-
《一天一个设计模式》------原型模式(Prototype)
原型模式一:模式定义二:模式结构三:应用-克隆羊问题四:深拷贝和浅拷贝一:模式定义**原型模式(Prototype Pattern)用于创建重复的对象,同时又能保证性能。**这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。也即:使用原原创 2021-06-13 21:38:20 · 205 阅读 · 15 评论 -
《一天一个设计模式》----抽象工厂模式(Abstract Factory)
抽象工厂模式一:模式动机二:模式定义三:模式结构四:代码实例五:分析与总结一:模式动机在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法。但是有时候我们需要一个工厂可以提供多个产品对象,而不是单一的产品对象。为了更清晰地理解抽象工厂模式,需要先引入两个概念:产品等级结构 :产品等级结构即产品的继承结构,如一个抽象类是电视机,其子类有海尔电视机、海信电视机、TCL电视机,则抽象电视机与具体原创 2021-06-06 21:23:40 · 194 阅读 · 0 评论 -
《一天一个设计模式》----工厂方法模式(Factory Method)
工厂方法模式一:模式动机二:模式定义三:模式结构四:代码实例五:分析与总结一:模式动机定义了一个创建对象的接口,但由子类决定要实例化哪个类。工厂方法把实例化操作推迟到子类。二:模式定义工厂方法模式又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完原创 2021-06-06 19:59:38 · 208 阅读 · 0 评论 -
《一天一个设计模式》----单例模式(Singleton)
单例模式1.模式动机2.模式定义3.实现方式1.饿汉式(静态常量)2.饿汉式(静态代码块)3.懒汉式(线程不安全)4.懒汉式(线程安全,同步办法)5.懒汉式(线程安全,同步代码块)6.双重校验锁(线程安全)7.静态内部类8.枚举4.单例模式总结1.模式动机确保一个类只有一个实例,并提供该实例的全局访问点。2.模式定义单例模式(Singleton Pattern):单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式的要点有三个:原创 2021-05-30 19:28:27 · 205 阅读 · 3 评论 -
《一天一个设计模式》----简单工厂模式(SimpleFactory)
简单工厂模式1.Intent2.Class Diagram3.模式结构4.应用示例:1.Intent在创建一个对象时不向客户暴露内部细节,并提供一个创建对象的通用接口。2.Class Diagram简单工厂吧实例化的操作单独放到一个类中,这个类就成为简单工厂类,让简单工厂类来决定用哪个具体子类来实例化。这样做能把客户类和具体子类的实现解耦,客户类不再需要知道有哪些子类以及应当实例化哪个子类。客户类往往有多个,如果不使用简单工厂,那么所有的客户类都要知道所有子类的细节。而且一旦子类发生改变,例如增加原创 2021-05-29 16:43:40 · 373 阅读 · 13 评论