美文网首页
kotlin之单例模式

kotlin之单例模式

作者: bravelion | 来源:发表于2019-09-30 20:03 被阅读0次

1.

Kotlin天生支持单例模式,只要使用object就可以实现一个单例模式:

object ComputerFactory{

    fun produce(type: ComputerType): Computer {

        return when (type) {

                ComputerType.PC -> PC()

                ComputerType.Server -> Server()

         }

    }

}

2.使用opertator重载invoke方法代替produce

object ComputerFactory{

    operator fun invoke(type: ComputerType): Computer {

        return when (type) {

                ComputerType.PC -> PC()

                ComputerType.Server -> Server()

         }

    }

}

使用时,如下ComputerFactory(ComputerType.PC)

3.伴生对象创建静态工厂方法

interface Computer{

    companion object {

        operator fun invoke(type: ComputerType): Computer {

                return when(type) {

                    ComputerType.PC -> PC()

                    ComputerType.Server -> Server()

                }

        }

    }

}

调用如下:Computer(ComputerType.PC)

本文摘自《Kotlin核心编程》

相关文章

  • Kotlin 的单例模式

    Kotlin 的单例模式 1. 在 Java 中的单例模式 懒汉式单例模式,并且是线程安全 2. 在 Kotlin...

  • Kotlin单例模式使用案例

    Kotlin单例模式 1、kotlin的object就是一个单例模式,所有字段都是static静态,方法不是静态2...

  • Kotlin 的单例模式

    Kotlin 的单例模式(5种) Kotlin 的5种单例模式: 饿汉式 懒汉式 线程安全的懒汉式 双重校验锁式 ...

  • Java23种设计模式之「单例模式」

    单例模式 之 holder 模式 (推荐) 单例模式 之 饱汉模式(懒汉模式) 单例模式 之 双重锁检查 (Dou...

  • 单例模式

    单例模式 单例模式简介基本用法Kotlin 不带参Kotlin 带参饿汉式懒汉式双重校验锁静态内部类枚举集合管理问...

  • 使用Kotlin高效地开发Android App(五)完结篇

    一. 单例 使用 Java 来编写单例模式的话,可以写出好几种。同样,使用 Kotlin 也可以写出多种单例模式。...

  • Kotlin之单例模式

    单例模式 懒汉式 在kotlin中调用 XxxUtils.xxx() 在java中调用 XxxUtils.comp...

  • kotlin之单例模式

    1. Kotlin天生支持单例模式,只要使用object就可以实现一个单例模式: object ComputerF...

  • 单例

    iOS单例模式iOS之单例模式初探iOS单例详解

  • 设计模式之单例模式详解

    设计模式之单例模式详解 单例模式写法大全,也许有你不知道的写法 导航 引言 什么是单例? 单例模式作用 单例模式的...

网友评论

      本文标题:kotlin之单例模式

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