某一天感觉单例模式和静态类好像呀,一个是只创建了一个对象,另个一是不需要创建对象,那么问题来了,我们该如何选择使用单例模式还是静态类呢?下面将做讲解:

一.二者之间的区别

1、区别如下表所示:
如何选择单例模式和静态类2、单例模式对于静态类主要优点是面向对象:

  1. 单例可以继承一个基类实现多态;
  2. 实现一个接口,提供不同的功能;

二.如何选择

1:当需要支持面向对象的功能时,选择单例,例如:管理状态(类的字段)
2:如果仅仅是将一堆静态方法存储到一起,则选择静态类

三.使用案例

1:单例模式:

  1. Java运行时(java.lang.Runtime);
  2. 网站计数器;
  3. 日志对象

2:静态类:

  1. c#线程池;
  2. java.lang.Math;
  3. c#并行计算(Parallel)

四.总结

其实区分起来还是挺容易的,牢牢记住第二部分(如何选择)说的内容的就可以了。

相关文章: