笔试&&面试经验程序员

设计模式-建造篇(工厂模式)

2017-02-10  本文已影响0人  小酷哥

什么是建造者模式?

不是简单的通过new创建实例,而是在创建对象的同时,隐藏创建逻辑方式

每一类事物都有相同的属性,所以我们才把他们通称为一个名字。
动物也是一个抽象名词,他代表的是一类有相同属性的事物。

工厂模式

接口做为规范,子类去实现,工厂贩卖子类。

/**
 * Created by malei on 2016/12/5.
 * 动物的抽象规范
 */
public interface Animal {
    void say();
}
/**
 * Created by malei on 2016/12/5.
 * 实现规范的动物
 */
public class Cat implements Animal {
    @Override
    public void say() {
        Log.show("我是一只猫");
    }
}
/**
 * Created by malei on 2016/12/5.
 * 实现规范的动物
 */
public class Dog implements Animal {
    @Override
    public void say() {
        Log.show("我是小狗");
    }
}
/**
 * Created by malei on 2016/12/5.
 * 贩卖实现规范的动物的工厂
 */
public class AnimalFactory {

    public Animal buyAnimal(String name){
        if(name == null){
            return null;
        }
        if(name.equals("猫")){
            return new Cat();
        }else if(name.equals("狗")){
            return new Dog();
        }
        return null;
    }

    public static void main(String[] args){
        AnimalFactory factory = new AnimalFactory();
        Animal dog = factory.buyAnimal("狗");
        dog.say();
    }
}
上一篇 下一篇

猜你喜欢

热点阅读