빌더 패턴 (Builder Pattern)
·
Computer Science/Design Pattern
빌더 패턴복잡한 객체를 생성할 때 생성자의 파라미터가 많아지면 가독성, 유지보수성, 확장성이 떨어지게 됩니다.new User("koonyang", 28, "developer", true, LocalDate.now()); 매개변수가 많아질수록 어떤 값이 어떤 필드를 의미하는지 어려움선택적인 필드를 처리할 때마다 생성자를 만들어야 함객체의 불변성을 유지하기 어려움빌더 패턴은 이러한 문제를 해결하도록 도와줍니다.User.builder() .name("koonyang") .age(28) .career("developer") .notifiaction(true) .createdAt(LocalDate.now()); GoF 빌더와 Fluent 빌더빌더 패턴은 사실 사용 방식에 따라 GoF 빌..
추상 팩토리 패턴 (Abstract Factory Pattern)
·
Computer Science/Design Pattern
추상 팩토리 패턴추상 팩토리 패턴은 팩토리 메서드 패턴보다 상위 수준의 생성 패턴입니다.서로 관련된 객체들의 집합을 생성하기 위한 인터페이스를 정의하고, 구체적인 팩토리 구현 클래스가 실제 제품군을 생성하는 방식입니다. public interface Button { void render();}public class WindowsButton implements Button { public void render() { System.out.println("윈도우 버튼"); }}public class MacButton implements Button { public void render() { System.out.println("맥 버튼"); }}public ..
Spring의 팩토리 메서드 패턴 (Factory Method Pattern)
·
Computer Science/Design Pattern
팩토리 메서드 패턴팩토리 메서드 패턴은 객체 생성을 서브 클래스에게 위임하는 디자인 패턴을 말합니다.어떤 객체를 생성할지 슈퍼 클래스가 결정하지 않고, 하위 클래스가 결정하도록 위임합니다.이를 통해 객체 생성에 대한 책임과 객체 사용의 비즈니스 로직 처리 로직을 분리할 수 있습니다. public interface Button { void render();}public class WindowsButton implements Button { public void render() { System.out.println("윈도우 버튼 렌더링"); }}public class MacButton implements Button { public void render() { ..