728x90
반응형

Knowledge/Design pattern 2

[Design pattern] 정적 팩토리 메서드 패턴

정적 팩토리 메서드란객체 생성을 생성자 new가 아니라 클래스의 static 메서드를 통해 수행하는 방식이다. 단순히 new를 안쓰는 문법이 아니라 객체 생성의 의미와 책임을 코드로 드러내기 위한 패턴이다.일반 생성자 방식의 한계new User(email, password);new User(email, encodedPassword);생성 의도가 보이지 않는다같은 타입의 파라미터가 섞이면 의미가 불변명 해져 호출하는 곳에서는 차이를 알 수 없다정적 팩토리 메서드의 기본적인 형태public class User { private User(String email, String password) { this.email = email; this.password = password; ..

[Design pattern] 상태 패턴 (State Pattern)

상태 패턴이란객체가 상태에 따라 다른 행동을 해야 할 때 사용하는 디자인 패턴상태를 객체로 캡슐화해서 상태 전환과 행동을 독립적으로 관리조건문 (if / switch)을 최소화할 수 있음객체가 여러 상태를 갖고있고 상태별로 행동이 다를때나, 상태가 자주바뀌고 상태별 로직이 길어서 조건문이 지저분할 때도 사용가능구성 요소구성 요소역할Context상태를 가진 객체State Interface상태 인터페이스/추상 클래스ConcreteState각 상태 구현장점조건문 최소화 → 코드가 깔끔상태별 행동 캡슐화 → 유지보수 용이새로운 상태 추가 용이단점상태 클래스가 많아질 수 있음 → 관리 필요상태 전환 로직이 복잡하면 Context가 상태를 지나치게 알게 됨적용간단한 기능이라 기본적인 상태패턴 규칙처럼 클래스로 나누..

728x90
반응형