Design patterns 简单工厂(Java)
示例
工厂减少了需要从对象创建代码创建对象的代码之间的耦合。不是通过调用类构造函数来显式地创建对象,而是通过调用一些代表调用者创建对象的函数。下面是一个简单的Java示例:
interface Car {
}
public class CarFactory{
static public Car create(String s) {
switch (s) {
default:
case "us":
case "american": return new Chrysler();
case "de":
case "german": return new Mercedes();
case "jp":
case "japanese": return new Mazda();
}
}
}
class Chrysler implements Car {
public String toString() { return "Chrysler"; }
}
class Mazda implements Car {
public String toString() { return "Mazda"; }
}
class Mercedes implements Car {
public String toString() { return "Mercedes"; }
}
public class CarEx {
public static void main(String args[]) {
Car car = CarFactory.create("us");
System.out.println(car);
}
}在此示例中,用户仅给出了有关其需求的提示,而工厂可以自由地构造适当的东西。这是一个依赖倒置:Car概念的实现者可以自由返回Car用户请求的适当的具体对象,而后者又不知道所构建具体对象的详细信息。
这是工厂工作方式的一个简单示例,当然在此示例中,总是可以实例化具体类。但是可以通过将具体的类隐藏在包中来防止这种情况,从而迫使用户使用工厂。
.Net小提琴为上述示例。
热门推荐
10 访贫问苦祝福语简短句子
11 闺蜜小孩祝福语简短
12 生活老师离别祝福语简短
13 鼠年同事祝福语简短创意
14 朋友新工作祝福语简短
15 生日祝福语 男性简短独特
16 出车开工吉祥祝福语简短
17 冬日问候祝福语大全简短
18 公司的祝福语简短2026