zoukankan      html  css  js  c++  java
  • 23种设计模式

    23种设计模式

    单例模式:

    饿汉式:

    三个注意点

    1. 私有构造器

    2. 创建私有属性(创建一个私有对象,类初始化时,立即加载私有对象)

    3. 提供一个访问方法

    优点:线程安全,调用效率高,类加载时就加载

    懒汉式

    注意三点

    1.私有构造器

    2.创建私有属性(创建对象为null,不初始化,延时加载,真正用的时候在加载)

    3.提供一个访问方法(加同步synchronized,调用后效率低)

    优点:线程安全,调用效率低,延时加载

    双重检测所模式

    静态内部类实现方式

    注意三点

    1创建内部类,并且创建内部私有外部类的对象

    2私有化构造器

    3提供外部类访问方法,返回值为内部类.创建的私有对象,不需要同步。

    优点:线程安全,调用效率高,延时加载

    枚举单例模式

    注意点:

    1枚举类定义枚举元素(本身就2是单例对象)

    3定义普通方法

    4私有构造器

    缺点:无延时加载

    反射破解单例:

    序列化反序列化

    b) 代码

     

    工厂模式(创建实例化对象,增加新对象)

    简单工厂模式

    1.违反了开闭(OCP)原则(创建新对象,需要修改已有的代码),扩展性差

    2.与工厂和接口打交道

     

    工厂方法模式

    1.实现各个产品的工厂(Factory接口各个工厂实现Factory接口)

    2.实现开闭(OCP)原则

     

    抽象工厂模式

    1.保留了开闭原则(OCP),可以增加产品和产品组

    2. 

  • 相关阅读:
    实体框架中的POCO支持
    实体框架中的POCO支持
    实体框架中的POCO支持
    (架构)UI开发的MVC模式
    (运算符)<< 运算符
    (运算符)& 运算符
    (运算符)?: 运算符
    Stream流 List<Map>排序
    elementui dialog 嵌套遮罩显示异常问题
    itext7 在已经存在的pdf文件中添加文本
  • 原文地址:https://www.cnblogs.com/2070393244com/p/9465636.html
Copyright © 2011-2022 走看看