단례 모드 - 등록식 단례

1308 단어

등록식 단례는 등록식 단례라고도 부른다. 모든 실례를 어느 곳에 등록하고 유일한 표지를 사용하여 실례를 얻는 것이다.


등록식 단례는 두 가지가 있는데 하나는 일괄 등록이고 하나는 용기 캐시이다.


1) 열거식 단일 예제 코드는 다음과 같습니다.

public enum EnumSingleton {
    INSTANCE;
    private Object data;

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }

    public static EnumSingleton getInstance(){
        return INSTANCE;
    }
}

매거식 단례는 서열화 파괴와 반사 파괴를 피할 수 있다.

2) 컨테이너 캐시 단일 예제 코드는 다음과 같습니다.

public class ContainerSingleton {
    private ContainerSingleton(){}
    private static Map ioc=new ConcurrentHashMap();
    public static Object getBean(String className){
        synchronized (ioc){
            if(!ioc.containsKey(className)){
                Object obj=null;
                try {
                    obj=Class.forName(className);
                    ioc.put(className,obj);
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                }
                return obj;
            }else{
                return ioc.get(className);
            }
        }
    }
}

용기식 단례는 창설 실례가 매우 많은 경우에 적용되어 관리하기 편리하다.그러나 비선정은 안전하다.

좋은 웹페이지 즐겨찾기