美文网首页iOS学习
设计模式-结构篇(享元模式)

设计模式-结构篇(享元模式)

作者: 小酷哥 | 来源:发表于2017-02-10 14:23 被阅读0次

享元模式

主要用于减少创建对象的数量,以减少内存占用和提高性能。
享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。
用 HashMap 存储这些对象。

/**
 * Created by malei on 2016/12/6.
 */
public class AnimalFactory {

    private static final HashMap<String, Animal> list 
= new HashMap();

    public static Animal get(String name){
        Animal item = (Animal)list.get(name);
        if(item == null){
            Log.show("向List添加新对象");
            if(name.equals("猫")){
                item =new Cat();
                list.put("猫",item);
            }else if(name.equals("狗")){
                item =new Dog();
                list.put("狗",item);
            }
        }
        return item;
    }

    public static void main(String[] args){
        for (int i= 0 ; i <10 ;i++){
            Animal item = AnimalFactory.get("猫");
            item.run(2);
        }
    }
}

/**
 * Created by malei on 2016/12/6.
 */
public class Cat implements Animal{
    @Override
    public void run(int age) {
        Log.show("小猫"+age);
    }
}

/**
 * Created by malei on 2016/12/6.
 */
public class Dog implements Animal{
    @Override
    public void run(int age) {
        Log.show("小狗"+age);
    }
}

/**
 * Created by malei on 2016/12/6.
 */
public interface Animal {
    void run(int age);
}

相关文章

网友评论

    本文标题:设计模式-结构篇(享元模式)

    本文链接:https://www.haomeiwen.com/subject/hgvgittx.html