设计模式~单例-[Android_YangKe]

作者: Android_YangKe | 来源:发表于2017-10-24 10:56 被阅读190次
单例模式:

众所周知android是基于java编程语言的一种操作系统, 所以只要懂java熟悉android api大都可以进行简单的项目开发, 但移动端设备的硬件资源是有限的, 所以要做出一个高性能的产品是需要强大内功的.

例:
1.Java功底
2.android熟悉程度
3.设计模式

开发一款android产品Java功底和android熟悉程度抛开不说, 今天我们来讲下设计模式. 设计模式不仅仅java和android有, 其他很多语言也都具备, ok 开始今天的话痨.

yangke.png
单例模式:

单例模式属于创建型模式中的一员, 此模式中, 类公开定义一个函数对外开放当前实例, 同时构造方法是私有的.
构造方法私有作用: 确保我们的对象在外部不能通过new关键字进行创建对象以达到单例.

单例模式整体分为两种:
1.懒汉模式
2.饿汉模式

懒汉模式
当需要对象时才会进行构建, 避免不必要的内存开销.

饿汉模式
当类加载时就去创建对象, 类似一种预加载, 这种情况需要考虑实际业务, 并非全部的业务都需要使用懒加载模式.

例(懒汉模式):

public class Singleton2 {

private Singleton2() {}

public static Singleton2 getInstance(){
    return Inner.sInstance; 
}

static class Inner {
    private static final Singleton2 sInstance = new Singleton2(); 
}
}

例(饿汉模式):

public class Singleton3 {

private Singleton3() {}

private static Singleton3 sInstance = new Singleton3();

public static Singleton3 getInstance() {
    return sInstance;
}
}

总结:

主要解决:一个全局使用的类频繁地创建与销毁.
何时使用:当您想控制实例数目,节省系统资源的时候.
关键代码:构造函数是私有的.
优点:整个进程中对象的实例保证唯一一个, 避免内存的多次开销.
缺点:没有接口,不能继承.

喜欢有帮助的话: 双击、评论、转发,动一动你的小手让更多的人知道!关注 帅比-杨

相关文章

  • 单例模式Java篇

    单例设计模式- 饿汉式 单例设计模式 - 懒汉式 单例设计模式 - 懒汉式 - 多线程并发 单例设计模式 - 懒汉...

  • 设计模式~单例-[Android_YangKe]

    单例模式: 众所周知android是基于java编程语言的一种操作系统, 所以只要懂java熟悉android a...

  • python中OOP的单例

    目录 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

  • 单例

    目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

  • python 单例

    仅用学习参考 目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计...

  • 2018-04-08php实战设计模式

    一、单例模式 单例模式是最经典的设计模式之一,到底什么是单例?单例模式适用场景是什么?单例模式如何设计?php中单...

  • 设计模式第二篇、单例设计模式

    目录1、什么是单例设计模式2、单例设计模式的简单实现3、单例设计模式面临的两个问题及其完整实现4、单例设计模式的应...

  • 设计模式 - 单例模式

    设计模式 - 单例模式 什么是单例模式 单例模式属于创建型模式,是设计模式中比较简单的模式。在单例模式中,单一的类...

  • 2、创建型设计模式-单例设计模式

    江湖传言里的设计模式-单例设计模式 简介:什么是单例设计模式和应用 备注:面试重点考查 单例设计模式:这个是最简单...

  • 设计模式之单例模式

    单例设计模式全解析 在学习设计模式时,单例设计模式应该是学习的第一个设计模式,单例设计模式也是“公认”最简单的设计...

网友评论

    本文标题:设计模式~单例-[Android_YangKe]

    本文链接:https://www.haomeiwen.com/subject/kxpsuxtx.html