enum 은 단일 사례 를 실현 하 는 가장 좋 은 해결 방안 입 니까?

enum 은 단일 사례 를 실현 하 는 가장 좋 은 해결 방안 입 니까?
너 는 분명히 여러 번 들 어 본 적 이 있 을 것 이다. enum 은 항상 단일 모델 의 가장 좋 은 선택 을 실현 한다.그럼 enum 이 최선 인가요?다른 실현 방식 에 비해 어떤 좋 은 점 이 있 습 니까?어디 보 자.  하나의 사례 모델 을 실현 하 는 것 은 매우 까다롭다. 나 도 다른 블 로그 에서 여러 가지 실현 방법 을 언급 했다.http://howtodoinjava.com/2012/10/22/singleton-design-pattern-in-java/。블 로그 에서 enums 는 단일 모델 의 실현 에 대해 사례 의 유일 성과 스 레 드 의 안전성 을 확보 했다 고 명확 하 게 지적 했다.또한 단일 모델 을 실현 하 는 좋 은 방법 이기 도 하 다.
Problems with enum as singleton Having said that, like with any other thing in universe, this approach does have it’s disadvantages which you will need to consider before making any decision. enums do not support lazy loading. Though it’s very very rare but if you changed your mind and now want to convert your singleton to multi-ton, enum would not allow this. If above both cases are no problem for anybody, the enum is probably best choice. Anyways, on side note, after compilation java enums are converted to classes only with additional methods e.g. values() and valueOf()… etc. enum based singleton example Once you have decided to write enum based singleton, writing it is really easy e.g.
enum Singleton
{
    INSTANCE;
    // instance vars, constructor
 
    private final Connection connection;
     
    Singleton()
    {
        // Initialize the connection
        connection = DB.getConnection();
    }
 
    // Static getter
    public static Singleton getInstance()
    {
        return INSTANCE;
    }
 
    public Connection getConnection()
    {
        return connection;
    }
}

Now you use can use final Singleton s = Singleton.getInstance(). Remember that since this is an enum you can always access this via Singleton.INSTANCE as well. Happy Learning !!
http://howtodoinjava.com/2015/10/20/is-enum-really-best-for-singletons/

좋은 웹페이지 즐겨찾기