在面试通过通过单例模式来展示实例
在面试初级和高级开发时,一般会问设计模式的问题。通常会让写下单例模式的实现方法,或者让结合项目,说下用过的设计模式,在本文里,就将讲述单例模式的多种写法,以此告诉大家如何在面试中展示实力。 如果在项目里,多个运行实例都会从同一个配置文件里读取发送邮件的列表,那么我们就可以用单例模式来创建这个读配置文件的类。我们先来看下单线程情况下单例模式的写法。 1 public class MailListReader { 2 private static MailListReader reader = null; 3 private MailListReader(){}//构造函数私有 4 //向外部开放一个公有的静态函数来提供对象 5 public static MailListReader getInstance() { 6 if(reader == null) 7 reader = new MailListReader(); 8 return reader; 9 } 10 //提供邮件列表的方法 11 List<String> provideList() 12 { 省略提供邮件列表的代码 } 13 } 在上述的代码里,我们可以看到实现单例模式的两大要素,第一,第3行提供的构造函数是私有的,这样外部代码就无法通过调用构造函数来创建MailListReader对象。第二