美文网首页
创建型设计模式

创建型设计模式

作者: LucXion | 来源:发表于2023-05-29 23:45 被阅读0次

两工厂、一原型、一单例、一生成器
Abstract Factory:抽象工厂、工厂模式
Factory Method:工厂方法
Singleton:单件、单例
Prototype:原型
Builder:生成器
在不同的业务场景下使用恰当的创建模式,可以使业务逻辑更清晰、节省开销、加强控制、分段控制实例的创建

工厂模式和工厂方法:
  • 相同点和不同点:都强调了产品的一致性,区别在于它们的实现规模不同,工厂模式针对的是一系列组件、一个产品类库。工厂方法针对的只是一个产品。
  • 业务场景:程序员需要的是产品A、B,他调用的的AbstractProductA、AbstractProductB的接口,然后由虚拟工厂AbstractFactory的实例工厂ConcreteFactoryC或者ConcreteFactoryD去生产。生产CA+CB或者DA+DB。
原型:
  • 通过克隆来创建新的对象,节省对象的创建时间
  • Prototype 协议中定义-clone方法,-clone中alloc+init创建新的对象,但属性通过copy来赋值
  • 注意深浅拷贝,一般复杂的对象都是深拷贝,因为复制的对象和原型要相互独立。
单例
  • 用于全局共享数据,封装公共的方法,方便监听数据变化。避免全局变量污染命名空间。
  • 生成绝对单例,shareInstance+allocWithZone+copy+mutableCopy
生成器
  • GameCharacterBuilder,包含GameCharacter属性。Builder的init方法中创建了Character实例,builder提供对应character的属性的setter方法,返回自身链式调用。Director可以做进一步封装,接收builder返回character
  • 构造的过程中允许返回的对象有不同的表示,这个不同表示可以通过类型或属性来体现,所以你构造的过程中可能会返回任意的类型实例。
  • 创建对象的过程经过复杂的算法,将这个算法与对象分开,提供装配,分阶段赋
  • 业务示例:筛选项对象,根据传入的不同类型,给筛选项对象的一部分赋值,这个过程中筛选项对象的表示不同。生成组件配置SectionArr,创建的过程中会生成不同的对象。

相关文章

  • 23种设计模式总结一

    23 种经典设计模式共分为 3 种类型,分别是创建型、结构型和行为型。 一、创建型设计模式 创建型设计模式包括:单...

  • 创建型设计模式总结

    创建型设计模式总结 Intro 前面几篇文章已经把创建型设计模式都介绍了,来做一个简单的总结。 创建型设计模式,就...

  • 建造者设计模式-Builder design pattern

    建造者设计模式是创建型设计模式的一种。创建型设计模式处理对象创建的问题。 建造者设计模式,用来构建需要经过若干个建...

  • 设计模式归纳

    一、设计模式的分类 23 种经典的设计模式分为三类:创建型、结构型、行为型。 1.创建型设计模式主要解决“对象的创...

  • 设计模式--分类

    一、设计模式的分类设计模式可以概括为23种,按照特点可以将其分为三大类型:创建型、结构型、行为型。1、创建型创建型...

  • 单例模式

    单例 单例模式,是一种设计模式,属于创建型设计模式,还有一种创建型设计模式,工厂模式。设计模式总共有23种,三大类...

  • 《设计模式之美》- 23种设计模式

    学习《设计模式之美》笔记。 23 种经典设计模式共分为 3 种类型,分别是创建型、结构型和行为型 创建型模式 创建...

  • 设计模式简单总结(待完善)

    设计模式简单总结 设计模式可以分为:创建型,结构型,行为型三种模式。 1 创建型模式 1.1 单例模式 用来指定某...

  • 开发之设计模式-单例模式

    设计模式 设计模式分为三大类:创建型、结构型、行为型在Java中有24中设计模式 创建型:单例 1、为什么用单例模...

  • 设计模式(行为型)-- 观察者模式

    我们常把 23 种经典的设计模式分为三类:创建型、结构型、行为型。创建型设计模式主要解决“对象的创建”问题,结构型...

网友评论

      本文标题:创建型设计模式

      本文链接:https://www.haomeiwen.com/subject/spssedtx.html