zoukankan      html  css  js  c++  java
  • [设计模式]创建型模式

    定义


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

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

    在软件工程中,创建型模式是处理对象创建的设计模式,试图根据实际情况使用合适的方式创建对象。

    基本的对象创建方式可能会导致设计上的问题,或增加设计的复杂度。创建型模式通过以某种方式控制对象的创建来解决问题。

    主导思想


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

    分类


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

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

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

    应用


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

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

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

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

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

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

    代表模式



    推荐阅读


    本文属于 设计模式系列


    参考资料


    《大话设计模式》
    《HeadFirst设计模式》
  • 相关阅读:
    iOS中Zbar二维码扫描的使用
    SOJ 1135. 飞跃原野
    SOJ 1048.Inverso
    SOJ 1219. 新红黑树
    SOJ 1171. The Game of Efil
    SOJ 1180. Pasting Strings
    1215. 脱离地牢
    1317. Sudoku
    SOJ 1119. Factstone Benchmark
    soj 1099. Packing Passengers
  • 原文地址:https://www.cnblogs.com/jingmoxukong/p/4244001.html
Copyright © 2011-2022 走看看