zoukankan      html  css  js  c++  java
  • 单例模式和多例模式

    一、单例模式和多例模式说明:

    1. 单例模式和多例模式属于对象模式。
    2. 单例模式的对象在整个系统中只有一份,多例模式可以有多个实例。
    3. 它们都不对外提供构造方法,即构造方法都为私有。
    4. 单例模式和多例模式的结构图如下所示:

    二、应用举例

    1. 单例模式举例:

    package com.solid.pattern;

    import Java.util.Locale;

    import java.util.ResourceBundle;

    /**

    * 单例模式

    * @author solid

    *

    */

    public class Singleton {

        private static Singleton singleton = new Singleton();

       

        private Singleton() {}

       

        public static Singleton getInstance() {

           return singleton;

        }

       

        /**

        * 获取配置文件的值

        * @param key

        */

        public void getMessage(String key) {

           Locale locale = new Locale(key);

           ResourceBundle res = ResourceBundle.getBundle("res_zh_CN");

           String message = res.getString(key);

           System.out.println(message);

        }

    }

    package com.solid.pattern;

    /**

    * 单例模式测试

    * @author solid

    *

    */

    public class TestSingleton {

     

        private static Singleton singleton;

       

        public static void main(String[] args) {

           singleton = Singleton.getInstance();

           singleton.getMessage("title");

        }

    }

    1. 多例模式举例:

    package com.solid.pattern;

    /**

    * 多例模式

    * @author solid

    *

    */

    public class Multiton {

     

        private static Multiton multi1 = new Multiton();

        private static Multiton multi2 = new Multiton();

       

        private Multiton() {}

       

        public static Multiton getInstance(int key) {

           if(key == 1) {

               return multi1;

           } else {

               return multi2;

           }

        }

       

        /**

        * 获取1—6之间的随机数

        */

        public void getValue() {

           int value = (int)(Math.random()*6+1);

           System.out.println(value);

        }

    }

    package com.solid.pattern;

    /**

    * 多例模式测试

    * @author solid

    *

    */

    public class TestMultiton {

        private static Multiton multi1;

        private static Multiton multi2;

        public static void main(String[] args) {

           multi1 = Multiton.getInstance(1);

           multi2 = Multiton.getInstance(2);

          

           multi1.getValue();

           multi2.getValue();

        }

    }

  • 相关阅读:
    Eclipse和MyEclipse使用技巧--Eclipse各版本介绍
    专业分类
    Eclipse如何安装JD-Eclipse反编译插件
    JS生成UUID的方法实例
    第一章 Spring Security是什么?
    证件类型及编码含义
    银行机构代码
    html页面通过特殊链接:打电话,发短信,发邮件详细教程
    Eclipse修改Tomcat发布路径以及的配置多个Tomcat方法
    jquery实践案例--验证电子邮箱
  • 原文地址:https://www.cnblogs.com/WuXuanKun/p/5993289.html
Copyright © 2011-2022 走看看