既有抽象又有工厂模式。这些与为何使用另一个之间究竟有什么区别?
由于
答案 0 :(得分:2)
维基百科文章中提供了一个很好的例子:http://en.wikipedia.org/wiki/Abstract_factory_pattern
抽象工厂是一个“工厂界面”,可以由各种具体工厂实施。
答案 1 :(得分:1)
有抽象和工厂模式。
“四人帮”一书讲述了两种模式:工厂方法和抽象工厂。
Factory方法听起来就像是一个用于创建对象的抽象方法:
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
是一个抽象工厂。
这两者并不总是相互耦合。具有一些具有工厂方法的功能的常规具体类是完全有效的。一个抽象工厂说整个类的目的是创建一个或多个对象。
答案 2 :(得分:0)
如果您正在寻找设计模式的快速参考站点,请查看http://www.dofactory.com/Patterns/Patterns.aspx示例(使用C#)和简要说明。
此外,Head First Design Patterns一书(使用Java示例)有助于以易于理解的格式分解不同的模式。
我建议那些刚开始研究设计模式的人使用这两种资源。