Factory Method Pattern에 Enum을 사용하여 개선된 부분에 대해 주관적인 내용을 담고있습니다.
Enum은 싱글톤의 특성을 암묵적으로 갖고 있다. Factory Method Pattern만 사용하는 경우 같은 용도의 클래스를 중복생성 하여 사용하게 된다.
public interface 팩토리
public 냉면 냉면을만들다(String 냉면주문);
public class 물냉면팩토리 implements 팩토리
public 냉면 냉면을만들다(String 냉면주문){
냉면주문을 받아 해당하는 냉면을 만든다.
}
public class 비빔냉면팩토리 implements 팩토리
public 냉면 냉면을만들다(String 냉면주문){
냉면주문을 받아 해당하는 냉면을 만든다.
}
//B회사의 공장은 물냉면 공장과 비빔냉면 공장이 있다. 경기악화로 인하여 두 공장 중 한 공장을 패쇄해야하는 상황 발생되었다.
public class 냉면팩토리 implements 팩토리
물냉{
public 냉면 냉면을만들다(String 냉면주문){
냉면주문을 받아 해당하는 냉면을 만든다.
}
},
비냉{
public 냉면 냉면을만들다(String 냉면주문){
냉면주문을 받아 해당하는 냉면을 만든다.
}
};
//한 공장을 패쇄하기보다 둘다 운영하기 위해 ENUM을 도입하였다.
How to use(사용방법)
팩토리 팩토리 = 냉면팩토리.물냉;
냉면 냉면 = 팩토리.냉면을만들다(진주냉면);
//진주 비빔냉면을 주문받아 배달한다.
"보통 냉면을 구분할 때 물냉면이냐 비빔냉면이냐, 평양냉면이냐 함흥냉면이냐로 나눈다. 하지만, 진정한 냉면 마니아들에게는 또 다른 구분법이 있다. 바로 평양냉면이냐 해주냉면이냐다.
바로 평양냉면이냐 해주냉면이나다.
함흥냉면과는 다르게 해주냉면 또한 기본적으로 물냉면이다."
백헌석 / 최혜림 공저, 냉면열전 : 담백하고 시원한 한국인의 소울푸드
Reference(참조)
http://effectiveprogramming.tistory.com/m/entry/Enum-Abstract-Factory-패턴?category=660013
https://books.google.co.kr/books?id=cRkeCgAAQBAJ&pg=PT184&lpg=PT184&dq=물냉면+비빔냉면+언제+구분&source=bl&ots=b_hR2gCkcB&sig=7-H2TXK4soO6xjyxyuu4P8kyjtM&hl=ko&sa=X&ved=0ahUKEwjx596vu4nbAhXIybwKHY5LB9kQ6AEIhQEwDA#v=onepage&q=물냉면%20비빔냉면%20언제%20구분&f=false
피드 구독하기:
댓글 (Atom)
-
아래 두가지 내용중 하나에 해당되는경우 임차권 등기 경료 후 이행청구 신청 가능하다고 하는데 모르는 부분이 많아 정리해봄 전세해지 또는 종료 후 1개월이 지나 정당한 사유 없이 전세보증금을 반환받지 못하였을때 전세계약 기간 중 전세목적물에 대해 경매,...
-
싱글메트릭의 라이선스는 기존 사용자가 아닌 사용량에 따라 비용이 부담된다고 하는데 지금은 잘 모르겠지만 불필요한 리소스나 트랜잭션없이 표준화에 맞는 고객사 시스템들이 새로운 라이센스 방식에 맞지 않을까 생각됩니다. "아래 내용은 구글 바드를...
-
전자세금계산서용 인증서 홈텍스에서 전자세금계산서를 발행히기 위해 공동인증서 필요 발급 및 연장은 거래하시는 은행 홈페이지 통해 가능 기업인터넷뱅킹을 가입하여 사용하고 있는 사업자인경우 개인인터넷 뱅킹을 사용하는 경우 창구 방문이 필요 거래은행을 방문하...
댓글 없음:
댓글 쓰기