Design patterns 工厂和非工厂设计模式的差异
既有抽象模式,也有工厂模式。这两者之间到底有什么区别?为什么一个可以用来代替另一个Design patterns 工厂和非工厂设计模式的差异,design-patterns,Design Patterns,既有抽象模式,也有工厂模式。这两者之间到底有什么区别?为什么一个可以用来代替另一个 谢谢维基百科文章中给出了一个很好的例子: 抽象工厂是可以由各种具体工厂实现的“工厂接口”。维基百科文章中给出了一个很好的例子: 抽象工厂是一种“工厂接口”,可由各种具体工厂实现。如果您正在寻找设计模式的快速参考站点,请查看示例(使用C#)和简要说明 此外,Head First Design Patterns手册(使用Java示例)有助于以易于理解的格式分解不同的模式 对于刚刚开始研究设计模式的人,我推荐这两种资源
谢谢维基百科文章中给出了一个很好的例子:
抽象工厂是可以由各种具体工厂实现的“工厂接口”。维基百科文章中给出了一个很好的例子:
抽象工厂是一种“工厂接口”,可由各种具体工厂实现。如果您正在寻找设计模式的快速参考站点,请查看示例(使用C#)和简要说明 此外,Head First Design Patterns手册(使用Java示例)有助于以易于理解的格式分解不同的模式
对于刚刚开始研究设计模式的人,我推荐这两种资源。如果您正在寻找设计模式的快速参考网站,请查看示例(使用C#)和简要说明 此外,Head First Design Patterns手册(使用Java示例)有助于以易于理解的格式分解不同的模式 我向刚刚开始研究设计模式的人推荐这两种资源 既有抽象模式,也有工厂模式 《四人帮》一书讲述了两种模式:工厂方法和抽象工厂 工厂方法就是它听起来的样子,一种用于创建对象的抽象方法:
public interface SomeInterface {
Foo create(); // factory method
}
public class SomeClass implements SomeInterface {
Foo create() {
// the concrete type being constructed is abstracted by the factory method
return new DerivedFoo();
}
}
抽象工厂是定义用于创建对象的抽象的类型。在上面的示例中,SomeInterface
是一个抽象工厂
这两者并不总是相互耦合的。有一个带有一些功能的常规具体类,它也有一个工厂方法,这是非常有效的。抽象工厂表示整个类的目的是创建一个或多个对象
既有抽象模式,也有工厂模式
《四人帮》一书讲述了两种模式:工厂方法和抽象工厂
工厂方法就是它听起来的样子,一种用于创建对象的抽象方法:
public interface SomeInterface {
Foo create(); // factory method
}
public class SomeClass implements SomeInterface {
Foo create() {
// the concrete type being constructed is abstracted by the factory method
return new DerivedFoo();
}
}
抽象工厂是定义用于创建对象的抽象的类型。在上面的示例中,SomeInterface
是一个抽象工厂
这两者并不总是相互耦合的。有一个带有一些功能的常规具体类,它也有一个工厂方法,这是非常有效的。抽象工厂表示整个类的目的是创建一个或多个对象