• 单例模式还是静态类


      什么时候使用单例模式,什么时候采用平台类方式提供静态对象呢?
      首先讲一下什么是和单例模式,
      首先,这个类在逻辑上面就是一个;只有一个实例;比如主席,全国只有一个,那么就可以设计为单例;
      其次,符合单例的逻辑后,判断一下当构造的一个类的时候,不需要外部通过构造参数的形式注入外部模块的时候,就可以使用单例模式。比如对于一个布莱尼茨方式的算法的封装,其内部的状态可以完全依赖于函数的签名(参数),那么可以是单例模式;因为内部依赖于外部的内容,最好是通过构造参数传入,而不要在其内部直接和外部模块发生关系;这种是因为测试角度会比较复杂,内部处理也会复杂,边界不清晰。
      然后讲一下通过Platform方式,提供静态的get/set函数,在static块中将所有的对象进行构造,也可以实现单例效果;而且开发效率增加,因为不需要记住类名,通过“.”的方式就可以找到对应的对象。但是这种方式语义没有单例模式.instance(),getInstance()清晰,因为Platform.XXX的方式无法让调用者明晰这是单例对象,除非约定。
  • 相关阅读:
    GATK-BWA-MEM handle GRCh38 alternate contig mappings
    GATK使用说明-GRCh38(Genome Reference Consortium)(二)
    GATK使用说明(一)
    [python] 线程池
    [python] 线程锁
    [python] 线程简介
    [linux] 更改目录显示颜色
    限制登录次数
    项目经验总结-twice
    Java泛型底层源码解析--ConcurrentHashMap(JDK1.6/JDK1.7/JDK1.8)
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/6922429.html
Copyright © 2020-2023  润新知