Java(8)
-
[아이템 5] 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라
자원을 직접 명시하지 말고 의존 객체 주입을 사용하라자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 클래스가 내부적으로 하나 이상의 자원에 의존하고 자원이 클래스 동작에 영향을 준다면 싱글턴과 정적 유틸 클래스는 사용하지 않는 것을 권장 자원에 따라 동작이 달라진다면, 자원의 수만큼 인스턴스를 만들어 동작하게 하는 것이 좋음 자원을 직접명시하지 말고 의존 객체 주입을 사용 권장 Spring 과 같은 프레임워크에서 DI의 개념으로 많이 쓰임 사용하는 자원에 따라 동작이 달라지는 클래스에는 정적 유틸리티 클래스나 싱글턴 방식이 적합하지 않다. 아래의 예제는 사전을 단 하나만 사용한다면 좋은 코드 실전에서는 사전은 굉장히 여러 종류가 있으며 (한국어 사전, 영어 사전, 특수 어휘용 사전 등...) 특수 ..
2021.03.23 -
[디자인 패턴] Strategy Pattern
전략 패턴(Strategy Pattern) 객체가 할 수 있는 행위들 각각을 전략(클래스별로 캡슐화)으로 만들어 놓고, 동적으로 행위의 수정이 필요한 경우 전략을 바꾸는 것(필요시 교체)만으로 행위의 수정이 가능하도록 만든 패턴 행위를 클래스로 캡슐화해 동적으로 행위를 자유롭게 바꿀 수 있게 해주는 패턴 전략을 쉽게 바꿀 수 있도록(시스템이 유연하게 변경되고 확장될 수 있도록) 해주는 디자인 패턴 전략 어떤 목적을 달성하기 위해 일을 수행하는 방식, 비니지스 규칙, 문제를 해결하는 알고리즘 등 전략 패턴 구현 1) 전략 생성 public interface MovingStrategy { boolean movable(); } import java.util.Random; public class RandomMo..
2021.03.16