前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[设计模式]创建型模式

[设计模式]创建型模式

作者头像
静默虚空
发布2018-01-05 14:51:08
4590
发布2018-01-05 14:51:08
举报
文章被收录于专栏:静默虚空的博客

定义

创建型模式抽象了实例化的过程。它将系统与它的对象创建、结合、表示的方式分离

创建型模式都会将关于该系统使用哪些具体的类的信息封装起来。

在软件工程中,创建型模式是处理对象创建的设计模式,试图根据实际情况使用合适的方式创建对象。 基本的对象创建方式可能会导致设计上的问题,或增加设计的复杂度。创建型模式通过以某种方式控制对象的创建来解决问题。

主导思想

1、将系统使用的具体类封装起来。 2、隐藏这些具体类的实例创建和结合的方式。

分类

创建型模式又分为对象创建型模式类创建型模式。对象创建型模式处理对象的创建,类创建型模式处理类的创建。

对象创建型模式把对象创建的一部分推迟到另一个对象中。(代表模式:单例模式建造者模式原型模式抽象工厂模式

类创建型模式将它对象的创建推迟到子类中。(代表模式:工厂方法模式

应用

现代软件工程更加依赖对象的组合,而不是类的继承,强调从硬编码的行为转变到定义一组基本行为来组合成复杂的行为。

硬编码的行为不够灵活,因为如果想要改变设计的一部分,需要通过重写或者重新实现才能完成。

另外,硬编码没有提高重用性,而且难以跟踪错误。由于这些原因,创建型模式比硬编码的行为更有用。

创建型模式使设计变得更灵活,提供了不同的方式,从代码中移除了对需要实例化的具体类的引用。换句话说,这些模式增强了对象和类之间的独立性。

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

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

代表模式

单例模式 (Singleton Pattern)

工厂方法模式 (Factory Method Pattern)

抽象工厂模式 (Abstract Factory Pattern)

建造者模式 (Builder Pattern)

原型模式 (Prototype Pattern)

推荐阅读

本文属于 设计模式系列

参考资料

《大话设计模式》 《HeadFirst设计模式》

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-06-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义
  • 主导思想
  • 分类
  • 应用
  • 代表模式
  • 推荐阅读
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档