본문 바로가기

디자인패턴14

디자인패턴 시리즈 2. 싱글톤 패턴 (Singleton Pattern) 싱글톤 패턴 (Singleton Pattern) 클래스 인스턴스를 단 하나만 생성하고 그 인스턴스로의 전역 접근을 제공한다. 코드에 적용해보기 싱글톤 패턴의 첫인상은 클래스가 단 하나뿐인데 디자인패턴이라는 거창한 이름을 붙인 것만 같았다. 하지만 생각보다 많은 곳에서 필요로 하는 디자인패턴이다. 스레드 풀, 블루투스 장치를 위한 드라이버 등이 대표적인 예시이다. 스프링 Bean은 컨테이너가 싱글톤 스콥으로 관리하고 있다고 한다. 이런 객체를 쓸 때 인스턴스가 2개 이상이면 이상하게 작동하거나 불필요하게 자원을 낭비하게 된다. 가장 심각한 문제는 결과의 일관성이 사라진다는 것이다. 싱글턴 패턴에서 인스턴스를 하나만 생성하는 방법은 간단하다. public으로 생성자를 만드는 것이 일반적이지만 안타깝게도 pr.. 2023. 1. 12.
디자인패턴 시리즈 1. 전략 패턴 (Strategy Pattern) 전략 패턴 (Strategy Pattern) 알고리즘군을 정의하고 캡슐화해서 각각의 알고리즘군을 수정해서 사용할 수 있게 해준다. 코드에 적용해보기 이론만 보면 도대체 무슨 소리인지 모르겠는 게 디자인 패턴이다. 나의 경우 예시를 들어 천천히 코드에 적용해보면서 이해를 하는 게 훨씬 빨랐다. 지금부터 배구 게임을 만드는 프로그램을 작성할 것이다. 표준 객체지향 기법을 사용하여 Player라는 슈퍼클래스를 만든 후에 이 클래스를 확장하여 여러 종류의 플레이어를 만들 계획이다. public abstract class Player { public void defence() { System.out.println("수비를 했습니다!"); } abstract public void attack(); } public .. 2023. 1. 11.