1. 程式人生 > >工廠模式之單例多例

工廠模式之單例多例

需要被工廠生產的簡單例項

程式碼塊

package com.kass;

public class Dog {
    private String name;
    private int age;

    @Override
    public String toString() {
        return "Dog [name=" + name + ", age=" + age + "]";
    }

    public String getName() {
        return name;
    }

    public void setName
(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }

生成單例多例的工廠

package com.kass;

public class DogFactory {

    private static Dog d = new Dog();

    // 建立多例的工廠
    public Dog getMultitonDog
() { return new Dog(); } // 建立單例的工廠 public Dog getSingletonDog() { return d; } }

1,想要生成多例,必須要對類不停地new,執行一次方法建立一次物件;
2,想要生成單例,必須先生成一個不變的物件,後面返回給呼叫者,要在一個類裡 生成一個唯一的物件,只能使用靜態變數,隨著類的載入對變數初始化一次