我读到的关于服务/工厂/供应商的最清楚的例子之一是它们对应于:一辆汽车,一个为您提供汽车的工厂(例如红色汽车,蓝色汽车),以及一个输出汽车的可配置工厂(例如高质量汽车,劣质汽车)
令我困惑的部分是“一切都是单例”的解释。在上面的例子中,我假设“服务”是一个返回自身的单例,工厂和提供者是返回对象的单例(每个都是唯一的)。也就是说,如果一个控制器有一辆蓝色汽车,另一个是红色汽车,它们将是两辆独立的汽车。
我认为尽管混乱来自工厂以两种不同的方式编写。在一种方式中,您返回一个对象。这使得它在功能上等同于“服务”。另一方面,您返回一个可实例化对象的函数,以便使用该工厂的任何东西都可以获得新的单独实例。
这个对吗?在编写工厂的两种方法中,哪一种是反模式?