public class TofuShop { private static volatile TofuShop tofuShop; /** * 构造器私有化 */ private TofuShop() { } /* 静态内部类,该类中有一个静态属性Factory */ private static class TofuShopInstance { private static final TofuShop TOFU_SHOP = new TofuShop(); } /** * 提供一个静态的公有方法 * * @return 直接返回FactoryInstance.factory */ public static synchronized TofuShop getTofuShop() { return TofuShopInstance.TOFU_SHOP; } /** * 工厂加工 * */ public Product make(String ProductName) { switch (ProductName) { case "A": return new ProductA(); case "B": return new ProductB(); default: return null; } } }为什么要用单例模式
时间: 2024-02-15 18:26:53 浏览: 68
单例模式,属于创建类型的一种常用的软件设计模式 通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中
单例模式是一种创建型设计模式,它保证一个类只有一个实例,并提供一个全局访问点。在某些情况下,我们需要确保一个类只有一个实例存在,例如数据库连接池、线程池等资源池。如果我们使用多个实例,则会浪费系统资源,降低系统性能。此外,单例模式还可以用来控制某些全局变量的访问和修改,保证系统的安全性和稳定性。在上面的代码中,TofuShop类是一个工厂类,通过getTofuShop()方法获取TofuShop的唯一实例,然后通过make()方法生产不同种类的产品。通过单例模式,我们可以确保TofuShop类在整个系统中只有一个实例存在,避免了资源的浪费和系统性能的下降。
阅读全文