设计模式: 单列设计模式 模块方法设计模式

Posted 阿肯新

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式: 单列设计模式 模块方法设计模式相关的知识,希望对你有一定的参考价值。

一、单列设计模式

    1、设计模式:解决某一类问题的最行之有效的方法。
    2、Java中有23中基本设计模式。
    3、单列设计模式:一个类在内存中只有一个对象。


  为了达到单列设计模式,如下考虑:
    1、 为了避免其他程序过多建立该类对象,所以要先禁止其他程序建立该类对象。
    2、 但是为了有一个该类对象可用,所以只有通过自己建立一个本类对象。
    3、 为了让其他程序使用该对象,所以要对外提一些访问方式。

  有了上述思考,于是有了如下步骤:
    1、 将其构造私有化 (使用 private 修饰构造函数)
    2、 在类中 new 一个本类对象。
    3、 提供一个 static 方法能调用到上步建立的对象。

  代码示例如下:
  class Single //饿汉式 (饿汉式在开发时更常用)
  {
    private Single(){}
    private static Single s = new Single();
    public static Single getInstans()
    {
      return s;
    }
  }

  class Single //懒汉式
  {

    private static Single s;
    private Single(){}

    public static Single getInstance()
    {
      if(s==null)
        s = new Single();
      return s;
    }
  }

  class Test
  {
    public static void main(String []args)
    {
      Single ss = Single.getInstans();
    }
  }


四、模板方法设计模式

    在定义功能时,部分功能时确定的, 部分功能时不确定的, 而确定功能在使用不确定的功能,
    我们就可以将不缺定的功能暴露出去,由子类去完成。
    而确定部分就使用 final封装起来。

以上是关于设计模式: 单列设计模式 模块方法设计模式的主要内容,如果未能解决你的问题,请参考以下文章

Python单列模式

BetaFlight模块设计之十九:摄像头按键控制模拟任务分析

创建类设计模式-单列模式基于metaclass方法实现.py

JAVA基础——设计模式之单列模式

结构化程序设计一

C#简单工厂模式和单列设计模式潜要解析