• 三、创建型模式


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

    创建型模式分为以下几种:
    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方法

    三、原型模式

    四、建造者模式

  • 相关阅读:
    hbase存储优化
    cloudera manager下phoenix的安装
    Cloudera manager的服务安装以及spark升级到2.2
    redis学习总结
    kylin基础概念和基础性能优化
    mycat使用注意事项
    kylin2.0环境搭建
    ETL实践--kettle转到hive
    集成 SOLR 到 TOMCAT 中(傻瓜教程)
    局域网ip扫描
  • 原文地址:https://www.cnblogs.com/nxf-rabbit75/p/15391703.html
Copyright © 2020-2023  润新知