생성자의 매개변수가 많을 때 생성자는 선택적 매개변수가 많아질 때 설계가 곤란해진다. 클래스는 여러 개의 필드를 가질 수 있기 때문에, 초기화대상 필드의 수가 많아지면 (필자는 보통 4개 이상이 되면 많게 느껴지는 것 같다) 적절한 대응방안에 대해 고민하게 된다. 정적 팩토리 메서드의 경우도 마찬가지이다. 점층적 생성자 패턴 (Telescoping Constructor Pattern) 생성자에 필요한 인자가 많아질 때, 개발자들은 일반적으로 '점층적 생성자 패턴' 을 사용한다. 단순히 생성자에 필요한 매개변수의 여러가지 조합으로 생성자의 입력 파라미터를 구성하는 구현방법이다. public class Member { private Long memberId; private String name; privat..
getter/setter/property를 쓰지 않는다 도메인 오브젝트로 설계한 Entity 또는 VO 클래스에는 getter/setter/property 사용을 지양해 상태노출을 최소화 하라는 지침이다. 숨은 의미 객체지향 프로그래밍의 핵심 개념 중 캡슐화를 지키면서 객체에 메시지를 보내 스스로 상태에 대한 처리로직을 수행하도록 하라는 의미이다. 이 지침은 데이터 전달을 목적으로 하는 DTO나 비즈니스 플로우 실행을 목적으로 하는 컨트롤러•서비스 유형의 무상태 클래스를 대상으로 하지 않는다. 객체에 메시지를 전달해라 객체지향 프로그래밍은 객체의 '역할과 책임' 이라는 핵심 가치를 잘 유지할 때 그 의미가 살아난다. 이 역할과 책임의 대한 의의는 객체가 자신의 상태, 즉 정보에 대한 처리책임을 자신 스스..
- Total
- Today
- Yesterday