码迷,mamicode.com
首页 > 其他好文 > 详细

单例模式还是静态类

时间:2017-05-31 10:35:54      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:实现   封装   平台   复杂   for   使用   单例对象   内容   函数   

  什么时候使用单例模式,什么时候采用平台类方式提供静态对象呢?
  首先讲一下什么是和单例模式,
  首先,这个类在逻辑上面就是一个;只有一个实例;比如主席,全国只有一个,那么就可以设计为单例;
  其次,符合单例的逻辑后,判断一下当构造的一个类的时候,不需要外部通过构造参数的形式注入外部模块的时候,就可以使用单例模式。比如对于一个布莱尼茨方式的算法的封装,其内部的状态可以完全依赖于函数的签名(参数),那么可以是单例模式;因为内部依赖于外部的内容,最好是通过构造参数传入,而不要在其内部直接和外部模块发生关系;这种是因为测试角度会比较复杂,内部处理也会复杂,边界不清晰。
  然后讲一下通过Platform方式,提供静态的get/set函数,在static块中将所有的对象进行构造,也可以实现单例效果;而且开发效率增加,因为不需要记住类名,通过“.”的方式就可以找到对应的对象。但是这种方式语义没有单例模式.instance(),getInstance()清晰,因为Platform.XXX的方式无法让调用者明晰这是单例对象,除非约定。

单例模式还是静态类

标签:实现   封装   平台   复杂   for   使用   单例对象   内容   函数   

原文地址:http://www.cnblogs.com/xiashiwendao/p/6922429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!