Android日志之2012/02/14——浅谈设计模式Simple Factory
Android日记之2012/02/14——浅谈设计模式Simple Factory
设计模式中有一个简单工厂模式(Simple Factory),其目的在于根据工厂类自身的逻辑来决定实例化哪一个类。
简单工厂包 括一个工厂类、若干个产品类、一个*品类使用的接口。为什么要有这个接口?因为产品是同一类别的产品,势必就会用相同的方法。这么理解吧,一个工厂(工 厂类),生产英伟达的显卡,那这些显卡分很多档次(若干个产品类)。不管是什么档次的显卡,都是通过相同的方法生产出来的,那这个方法就是这个接口。
下面通过代码来理解下:
public interface CarInterface {
public void CreatProduce();
}
这就是一个接口,凡是使用这个接口的类势必要用到其中的方法CreatProduce()。
public class CreatBMW implements CarInterface{
@Override
public void CreatProduce() {
//Creat BWM
}
}
public class CreatAudi implements CarInterface{
@Override
public void CreatProduce() {
// Creat Audi
}
}
两个分别使用到这个接口的产品类。
public class CreatCar {
public void creat(String name){
if(name.equals("BMW")){
CreatBMW bmw = new CreatBMW();
bmw.CreatProduce();
}else if(name.equals("BMW")){
CreatAudi Audi= new CreatAudi();
Audi.CreatProduce();
}
}
}
一个工厂类,通过自己身的逻辑来决定了实例化哪一个产品类。
CreatCar car = new CreatCar();
car.creat("BMW");
实例化工厂类,并调用方法来决定自己需要得到什么样的产品。
设计模式中有一个简单工厂模式(Simple Factory),其目的在于根据工厂类自身的逻辑来决定实例化哪一个类。
简单工厂包 括一个工厂类、若干个产品类、一个*品类使用的接口。为什么要有这个接口?因为产品是同一类别的产品,势必就会用相同的方法。这么理解吧,一个工厂(工 厂类),生产英伟达的显卡,那这些显卡分很多档次(若干个产品类)。不管是什么档次的显卡,都是通过相同的方法生产出来的,那这个方法就是这个接口。
下面通过代码来理解下:
public interface CarInterface {
public void CreatProduce();
}
这就是一个接口,凡是使用这个接口的类势必要用到其中的方法CreatProduce()。
public class CreatBMW implements CarInterface{
@Override
public void CreatProduce() {
//Creat BWM
}
}
public class CreatAudi implements CarInterface{
@Override
public void CreatProduce() {
// Creat Audi
}
}
两个分别使用到这个接口的产品类。
public class CreatCar {
public void creat(String name){
if(name.equals("BMW")){
CreatBMW bmw = new CreatBMW();
bmw.CreatProduce();
}else if(name.equals("BMW")){
CreatAudi Audi= new CreatAudi();
Audi.CreatProduce();
}
}
}
一个工厂类,通过自己身的逻辑来决定了实例化哪一个产品类。
CreatCar car = new CreatCar();
car.creat("BMW");
实例化工厂类,并调用方法来决定自己需要得到什么样的产品。