fbpx
维基百科

創建型模式

软件工程中,创建型模式是处理对象创建的设计模式,试图根据实际情况使用合适的方式创建对象,因為基本的对象创建方式可能会导致设计上的问题,或增加设计的复杂度。创建型模式的关注点是如何创建对象,其核心思想是要把对象的创建和使用相分离[1]

创建型模式由两个主导思想构成。一是将系统使用的具体类封装起来,二是隐藏这些具体类的实例创建的方式。[2]

创建型模式又分为对象创建型模式和类创建型模式。对象创建型模式处理对象的创建,类创建型模式处理类的创建。详细地说,对象创建型模式把对象创建的一部分推迟到另一个对象中,而类创建型模式将它对象的创建推迟到子类中。[3]

定义 编辑

创建型模式旨在将系统与它的对象创建、结合、表示的方式分离。这些设计模式在对象创建的类型、主体、方式、时间等方面提高了系统的灵活性。[4]

使用 编辑

现代软件工程更加依赖对象的组合,而不是类的继承,强调从硬编码的行为转变到定义一组基本行为来组合成复杂的行为[5]。硬编码的行为不够灵活,因为如果想要改变设计的一部分,需要通过重写或者重新实现才能完成。另外,硬编码没有提高重用性,而且难以跟踪错误。由于这些原因,创建型模式比硬编码的行为更有用。创建型模式使设计变得更灵活,提供了不同的方式,从代码中移除了对需要实例化的具体类的引用[6]。换句话说,这些模式增强了对象和类之间的独立性。

在以下情况中,可以考虑应用创建型模式:

  • 一个系统需要和它的对象和产品的创建相互独立。
  • 一组相关的对象被设计为一起使用。
  • 隐藏一个类库的具体实现,仅暴露它们的接口。
  • 创建独立复杂对象的不同表示。
  • 一个类希望它的子类实现它所创建的对象。
  • 类的实例化在运行时才指定。
  • 一个类只能有一个实例,而且这个实例能在任何时候访问到。
  • 实例应该能在不修改的情况下具有可扩展性。

举例 编辑

创建型设计模式的一些例子如下:

  • 抽象工厂模式,提供一个创建相关或依赖对象的接口,而不指定对象的具体类。
  • 工厂方法模式,允许一个类的实例化推迟到子类中进行。
  • 生成器模式,将一个复杂对象的创建与它的表示分离,使同样的创建过程可以创建不同的表示。
  • 延迟初始化模式,将对象的创建,某个值的计算,或者其他代价较高的过程推迟到它第一次需要时进行。
  • 对象池模式,通过回收不再使用的对象,避免创建和销毁对象时代价高昂的获取和释放资源的过程。
  • 原型模式,使用原型实例指定要创建的对象类型,通过复制原型创建新的对象。
  • 单例模式,保证一个类只有一个实例,并且提供对这个实例的全局访问方式。

参考文献 编辑

  1. ^ . [2021-08-28]. (原始内容存档于2021-08-28). 
  2. ^ Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns. Massachusetts: Addison-Wesley. 1995: 81.395. ISBN 0-201-63361-2. 
  3. ^ 设计模式:可复用面向对象软件的基础
  4. ^ Judith, Bishop. C# 3.0 Design Patterns. O'Reilly Media. December 2007: 336 [2012-07-07]. ISBN 978-0-596-52773-0. (原始内容于2019-09-14). 
  5. ^ Design Patterns. Massachusetts: Addison Wesley. 1995: 84.395. ISBN 0-201-63361-2. 
  6. ^ Design Patterns. Massachusetts: Addision Wesley. 1995: 85.395. ISBN 0-201-63361-2. 

参见 编辑


創建型模式, 在软件工程中, 创建型模式是处理对象创建的设计模式, 试图根据实际情况使用合适的方式创建对象, 因為基本的对象创建方式可能会导致设计上的问题, 或增加设计的复杂度, 创建型模式的关注点是如何创建对象, 其核心思想是要把对象的创建和使用相分离, 创建型模式由两个主导思想构成, 一是将系统使用的具体类封装起来, 二是隐藏这些具体类的实例创建的方式, 创建型模式又分为对象创建型模式和类创建型模式, 对象创建型模式处理对象的创建, 类创建型模式处理类的创建, 详细地说, 对象创建型模式把对象创建的一部分推迟到. 在软件工程中 创建型模式是处理对象创建的设计模式 试图根据实际情况使用合适的方式创建对象 因為基本的对象创建方式可能会导致设计上的问题 或增加设计的复杂度 创建型模式的关注点是如何创建对象 其核心思想是要把对象的创建和使用相分离 1 创建型模式由两个主导思想构成 一是将系统使用的具体类封装起来 二是隐藏这些具体类的实例创建的方式 2 创建型模式又分为对象创建型模式和类创建型模式 对象创建型模式处理对象的创建 类创建型模式处理类的创建 详细地说 对象创建型模式把对象创建的一部分推迟到另一个对象中 而类创建型模式将它对象的创建推迟到子类中 3 目录 1 定义 2 使用 3 举例 4 参考文献 5 参见定义 编辑创建型模式旨在将系统与它的对象创建 结合 表示的方式分离 这些设计模式在对象创建的类型 主体 方式 时间等方面提高了系统的灵活性 4 使用 编辑现代软件工程更加依赖对象的组合 而不是类的继承 强调从硬编码的行为转变到定义一组基本行为来组合成复杂的行为 5 硬编码的行为不够灵活 因为如果想要改变设计的一部分 需要通过重写或者重新实现才能完成 另外 硬编码没有提高重用性 而且难以跟踪错误 由于这些原因 创建型模式比硬编码的行为更有用 创建型模式使设计变得更灵活 提供了不同的方式 从代码中移除了对需要实例化的具体类的引用 6 换句话说 这些模式增强了对象和类之间的独立性 在以下情况中 可以考虑应用创建型模式 一个系统需要和它的对象和产品的创建相互独立 一组相关的对象被设计为一起使用 隐藏一个类库的具体实现 仅暴露它们的接口 创建独立复杂对象的不同表示 一个类希望它的子类实现它所创建的对象 类的实例化在运行时才指定 一个类只能有一个实例 而且这个实例能在任何时候访问到 实例应该能在不修改的情况下具有可扩展性 举例 编辑创建型设计模式的一些例子如下 抽象工厂模式 提供一个创建相关或依赖对象的接口 而不指定对象的具体类 工厂方法模式 允许一个类的实例化推迟到子类中进行 生成器模式 将一个复杂对象的创建与它的表示分离 使同样的创建过程可以创建不同的表示 延迟初始化模式 将对象的创建 某个值的计算 或者其他代价较高的过程推迟到它第一次需要时进行 对象池模式 通过回收不再使用的对象 避免创建和销毁对象时代价高昂的获取和释放资源的过程 原型模式 使用原型实例指定要创建的对象类型 通过复制原型创建新的对象 单例模式 保证一个类只有一个实例 并且提供对这个实例的全局访问方式 参考文献 编辑 创建型模式 2021 08 28 原始内容存档于2021 08 28 Erich Gamma Richard Helm Ralph Johnson John Vlissides Design Patterns Massachusetts Addison Wesley 1995 81 395 ISBN 0 201 63361 2 设计模式 可复用面向对象软件的基础 Judith Bishop C 3 0 Design Patterns O Reilly Media December 2007 336 2012 07 07 ISBN 978 0 596 52773 0 原始内容存档于2019 09 14 Design Patterns Massachusetts Addison Wesley 1995 84 395 ISBN 0 201 63361 2 Design Patterns Massachusetts Addision Wesley 1995 85 395 ISBN 0 201 63361 2 参见 编辑行为型模式 結構型模式 并发型模式 取自 https zh wikipedia org w index php title 創建型模式 amp oldid 72026140, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。