Use Case:
顾客在在麦当劳购买食品。
顾客对服务员说, 来一个鸡翅,服务员就给顾客一个鸡翅。
顾客对服务员说,来一个汉堡,服务员就给顾客一个汉堡。
Simple Factory和普通实现方案比较:
1/ 顾客直接依赖鸡翅,汉堡。
2/ 顾客依赖服务员。
package creational.simplefactory;
public interface Product {
}
package creational.simplefactory;
public class ConcreteProductA implements Product {
}
package creational.simplefactory;
public class ConcreteProductB implements Product {
}
package creational.simplefactory;
public class SimpleFactory {
public static Product createProduct(String food) {
if (food.equals("ConcreteProductA")) {
return new ConcreteProductA();
} else if (food.equals("ConcreteProductB")) {
return new ConcreteProductB();
} else {
}
return null;
}
}
效果:
运行期错误 VS. 编译型错误。
一种可变性应当被封装到一个对象里面,而不应当散落到代码的很多角落里。
但是不符合OCP原则 !
分享到:
相关推荐
Simple Factory模式: 定义创建对象的接口,并封装对象的创建。 一般情况下,我们为了提高内聚和松耦合,经常会使用多态来处理一些问题。抽象出一些类的公共接口作为抽象基类或者接口。这样的话,我们将会面临一个...
讲解了设计模式中的工厂模式:包括简单工厂,工厂方法,抽象工厂
工厂方法模式
SimpleFactory.rar QQ:292258449
设计模式中Simple Factory 工厂模式代码
java工厂模式SimpleFactory 一个简单的java Bean工厂模式SimpleFactory
设计模式 t01SimpleFactory
简单工厂(Simple Factory)模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常它根据自变量的...SimpleFactory作为Creator。我已经用C#的源码编程了:请下载Simple Factory Pattern.rar
Design Pattern: Simple Factory 模式 Design Pattern: Abstract Factory 模式 Design Pattern: Builder 模式 Design Pattern: Factory Method 模式 Design Pattern: Prototype 模式 Design Pattern: Singleton...
C#简单工厂模式在项目需求中的应用Demo,适合新手。
JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
Simple Factory Design-Pattern for Calculate Salary for VC6project
简单工厂模式的例子
java 设计模式 Facade外观模式 Simple Factory 简单工厂模式,代码有点罗嗦,不过可移植性很强
这主要很快地让你了解工厂设计模式,java里面Factory模式的设计过程
设计模式-简单工厂 demo
用java实现简单工厂
Insus.net录制的design Pattern 简单工厂的小影片
var simpleFactory = require ( 'simple-factory' ) ; 用途 1.轻型工厂 常见的模式如下: //Thing.js function Thing ( stuff ) { this . stuff = stuff ; } module . exports = function factory ( stuff ) { ...
simple_factory(第一题)_dangervm5_factory_简单工厂的实例代码_源码.zip