首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
单例模式还是静态类
时间:
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
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!