본문 바로가기

디자인 패턴

(4)
[생성 패턴] 추상 팩토리 (Abstract Factory) 추상 팩토리 패턴(Abstract Factory Pattern)추상 팩토리 패턴은 생성 디자인 패턴(Creational Design Pattern) 중 하나로, 관련된 객체들의 가족(family)을 생성하는 데 사용됩니다.이 패턴은 객체 생성 코드를 캡슐화하고, 구체적인 클래스에 의존하지 않도록 설계하는 데 초점이 맞춰져 있습니다.  추상 팩토리 패턴 특징관련 객체 생성: 서로 관련된 객체를 묶어서 생성하는 데 적합함구체 클래스 의존 제거: 인터페이스나 추상 클래스를 사용하여 객체를 생성함으로써 코드의 유연성과 확장성 높임객체군(Family of objects) 생성: 동일한 제품군의 객체들을 일관성 있게 생성확장성: 새로운 객체군을 추가할 때 기존 코드를 수정하지 않고 확장이 가능 추상 팩토리 패턴 구..
[생성 패턴] 빌더 패턴 (Builder Pattern) Builder Pattern이란?생성 디자인 패턴(Creational Design Pattern) 중 하나로, 복잡한 객체 생성을 단계적으로 수행할 수 있도록 돕는 패턴입니다.클래스가 많은 매개변수를 가지는 경우 객체 생성의 복잡성을 줄이고, 코드의 가독성을 높이는 데 유용합니다.여러 개의 생성자(다양한 매개변수 조합)를 작성하는 번거로움을 해소하며, 유연성과 확장성을 제공합니다. Builder Pattern의 특징유연한 객체 생성: 불필요한 생성자 오버로딩을 줄이고 원하는 값만 설정 가능.가독성: 객체 생성 시 어떤 값을 설정하는지 명확히 알 수 있음.불변성 유지: Builder를 통해 객체를 생성하면, 생성된 객체는 변경 불가능(immutable)하게 유지 가능.확장성: 새로운 필드 추가 시 기존 코..
[생성 패턴] 싱글톤(Singleton Pattern) Java 예제 싱글톤이란?싱글톤 패턴은 하나의 클래스에 대해 단 하나의 인스턴스만 생성되도록 보장하고, 이 인스턴스에 전역적 접근을 제공하는 디자인 패턴입니다. 프로그램 전체에서 동일한 객체를 공유해야 할 때 사용하는 패턴입니다.   싱글톤 패턴이 필요한 이유하나의 리소스에 대한 일관성 유지데이터베이스 연결 객체나 설정 파일 관리 객체처럼 하나만 존재해야 하는 리소스를 관리할 때 사용합니다.여러 객체가 동일한 자원을 동시에 수정하면 데이터 무결성에 문제가 발생할 수 있습니다.메모리 절약 및 성능 최적화동일한 객체를 여러 번 생성하는 대신 하나의 인스턴스를 재사용하므로 메모리 낭비를 줄일 수 있습니다.글로벌 접근 가능성 제공프로그램 어디서든지 하나의 객체에 접근해야 하는 경우에 사용합니다. 싱글톤 패턴의 구조싱글톤 패턴..
[디자인 패턴] 디자인 패턴이란? 디자인 패턴이란?디자인 패턴은 개발 과정에서 반복적으로 발생하는 문제를 효율적으로 해결하기 위한 재사용 가능한 설계 구조입니다. 이는 소프트웨어 개발 시 직면하는 특정 문제들에 대해 검증된 해결 방식을 제공합니다.  디자인 패턴의 핵심 목표디자인 패턴은 객체 지향 프로그래밍의 4대 특성(캡슐화, 상속, 추상화, 다형성)과 SOLID 원칙에 기반하여 구현됩니다. 주요 목표는 다음과 같습니다:코드 재사용성: 검증된 설계를 여러 프로젝트에 쉽게 활용할 수 있습니다.유지 보수성 향상: 코드의 구조가 명확해져 수정과 관리가 쉬워집니다.확장성: 시스템을 유연하게 설계하여 변경이 필요할 때 쉽게 확장할 수 있습니다.일관성 향상: 개발팀 간에 동일한 문제 해결 방식을 공유해 협업을 원활하게 만듭니다.  디자인 패턴의 ..