본문 바로가기

Back-end/Design-pattern2

데커레이터 패턴 AlgorithmQuizToday I Learned작성 규칙분류코틀린 시작하기데커레이터 패턴싱글톤 패턴 데커레이터 패턴 데커레이터 패턴이란 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴 기능 확장이 필요할 때 서브클래싱 대신 쓸 수 있는 유연한 대안이 될 수 있다. 출처 : 위키백과 커피자판기 프로그램에서 원두, 설탕, 프림 등의 재료가 조합에 따라서 밀크커피, 블랙커피, 설탕커피, 프림커피 등으로 바뀐다는 점에서 기본을 원두로 지정한 뒤에 설탕, 프림을 확장으로 더하는 식으로 진행한다. 우선 Decorator 클래스를 다음과 같이 정의한다. 여기서 Material은 재료 클래스이다. Decorator.java public class Decorator extends Material{ pr.. 2018. 3. 12.
싱글톤 패턴 싱글톤 패턴 객체를 생설할 때 하나의 인스턴스만 존재해야되는 경우가 몇가지 있다. 예를들면 사무실의 프린트, 커피머신 등이 있겠다. Single Thread 에서는 문제가 없지만 Multi Thread 에서는 접근시에 여러 개의 객체가 생성될 수 있기 때문에 문제가 발생한다. 싱글톤 패턴의 여러가지 해법이 있지만 필자는 LazyHolder를 이용한 방법을 소개한다. 커피 자판기를 예로 든다. CoffeeMachine.java public class CoffeeMachine { private CoffeeMachine() { System.out.println("wisoft 커피자판기 입니다."); } public static CoffeeMachine getInstance() { return LazyHolde.. 2018. 3. 12.