zoukankan      html  css  js  c++  java
  • 三、创建型模式

    创建型模式的主要关注点是"怎样创建对象?",它的主要特点是"将对象的创建与使用分离"。也就是说,如果我们作为一个使用者的话,那么我们可以直接通过某种方式去获取别人创建好的对象,至于别人是如何创建的,我们并不关注。这样,就可以降低系统的耦合度了,使用者并不需要关注对象的创建细节,尤其是那些创建特别麻烦的对象。于是,创建型模式的好处就这样体现出来了。

    创建型模式分为以下几种:
    1. 单例模式
    2. 工厂方法模式
    3. 抽象工厂模式
    4. 原型模式
    5. 建造者模式

    一、单例设计模式

    1.为什么要使用单例?

    单例设计模式(Singleton Design Pattern)指一个类只允许创建一个对象(或者实例),这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。
    举例: 1. 处理资源访问冲突 2. 表示全局唯一类

    2.如何实现一个单例?

    构造函数需要是 private 访问权限的,这样才能避免外部通过 new 创建实例;
    考虑对象创建时的线程安全问题;
    考虑是否支持延迟加载;
    考虑 getInstance() 性能是否高(是否加锁)。

    单例设计模式主要有两种角色:

    1. 单例类:该类只能创建一个对象
    2. 访问类:该类其实就是测试类,即使用单例类

    3.单例存在哪些问题?

    4.单例与静态类的区别?

    5.有何替代的解决方案?

    二、工厂模式

    1.概述

    2.简单工厂模式

    简单工厂模式有如下优缺点:
    优点:封装了创建对象的过程,可以通过参数直接获取对象。把对象的创建和业务逻辑分开(现在的业务逻辑就是咖啡店点咖啡的这个业务,而该业务已经与具体的咖啡对象解除耦合了),这样以后就避免了修改客户端代码,如果要实现新产品,那么直接修改工厂类即可,而不需要再在原代码上进行修改了,这样就降低了客户端代码修改的可能性,更加容易扩展
    缺点:增加新产品时还是需要修改工厂类的代码,违背了开闭原则。虽然违背了开闭原则,但是比之前不用简单工厂模式还是要更好一些。

    3.工厂方法模式

    4.抽象工厂模式

    4.模式拓展

    6.模式扩展-Collection.iterator方法

    三、原型模式

    四、建造者模式

  • 相关阅读:
    python3画聚类树图
    RedHat 7.0 系统 安装
    在VMware vSphere Client安装新的服务器(虚拟机)
    RedHat 7.0 VMware Tools 安装
    RedHat 7.0 Firefox浏览器 安装与更新
    Redhat 7.0 Opera浏览器 安装
    windows 8.1 IE11 和 windows 10 Edge & IE11 FlashPlayer 的安装与卸载
    在Windows和Mac上输入unicode字符
    已知IP 查看hostname
    RedHat 7.0 Chrome浏览器 安装
  • 原文地址:https://www.cnblogs.com/nxf-rabbit75/p/15391703.html
Copyright © 2011-2022 走看看