昨晚看了:abstract factory ,build上种。
总体说
(1)抽象工厂模式:使用一个工厂直接生产多个产品,通过继承或者实现接口,用A= ProductFactory.createA();B=ProductFactory.crateB();、、、然后继续进行以下操作,它产生的产品是完全定型的,可以一次获得,然后利用抽象类的公共方法操作。
(2)生成器模式:有一个指示器、一个生成器,生成器生产产品,往指示器里传入一个生成器应用,进行builder操作得到一个build产品,利用builder来get到产品,即可。一个游戏地图的经典例子:Maze maze;
MazeGame mazeGame;
MazeBuilderOne builderOne;
mazeGame.builder(oneBuilder);
maze = oneBuilder.getMaze();
抽象工厂模式可以一次性获得产品,生成器模式可以分多步创建产品,最后返回,可以得到更多类型的产品。
(3)Factory Method pattern: 定义一个创建对象的借口,让子类决定实例化哪个类,将一个类的实例化延迟到子类。
object creat(int id){
if(id==1)return new A();
if(id==2)return new B();
}
(4)Prototype(原型):用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象。
Door makeWall(){
return prototypeDoor.clone;
}prototypeDoor在工厂类中的构造函数中已经初始化,是工厂类的一个private变量!
总体说
(1)抽象工厂模式:使用一个工厂直接生产多个产品,通过继承或者实现接口,用A= ProductFactory.createA();B=ProductFactory.crateB();、、、然后继续进行以下操作,它产生的产品是完全定型的,可以一次获得,然后利用抽象类的公共方法操作。
(2)生成器模式:有一个指示器、一个生成器,生成器生产产品,往指示器里传入一个生成器应用,进行builder操作得到一个build产品,利用builder来get到产品,即可。一个游戏地图的经典例子:Maze maze;
MazeGame mazeGame;
MazeBuilderOne builderOne;
mazeGame.builder(oneBuilder);
maze = oneBuilder.getMaze();
抽象工厂模式可以一次性获得产品,生成器模式可以分多步创建产品,最后返回,可以得到更多类型的产品。
(3)Factory Method pattern: 定义一个创建对象的借口,让子类决定实例化哪个类,将一个类的实例化延迟到子类。
object creat(int id){
if(id==1)return new A();
if(id==2)return new B();
}
(4)Prototype(原型):用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象。
Door makeWall(){
return prototypeDoor.clone;
}prototypeDoor在工厂类中的构造函数中已经初始化,是工厂类的一个private变量!