반응형

Kotlin 4

Factory Method Pattern - 팩토리 메서드 패턴

Factory Method Pattern - 팩토리 메서드 패턴Factory Method란?팩토리 메서드 패턴(Factory Method Pattern)은 객체 생성의 책임을 서브클래스에 위임하여, 클라이언트 코드가 구체적인 클래스에 의존하지 않고 객체를 생성할 수 있도록 하는 생성 패턴(Creational Pattern) 중 하나입니다. 클라이언트에서 직접 new 연산자를 통해 제품 객체를 생성하는 것이 아닌, 제품 객체들을 도맡아 생성하는 공장 클래스를 만들고, 이를 상속하는 서브 공장 클래스의 메서드에서 여러가지 제품 객체 생성을 각각 책임 지게합니다. 또한 객체 생성에 필요한 과정을 템플릿 처럼 미리 구성해놓고, 객체 생성에 관한 전처리나 후처리를 통해 생성 과정을 다양하게 처리하여 객체를 유연하..

디자인패턴 2024.12.28

AOP (Aspect-Oriented Programming) - 관점 지향 프로그래밍

AOP (Aspect-Oriented Programming) - 관점 지향 프로그래밍AOP란?AOP는 소프트웨어 설계 원칙 중 하나로, 애플리케이션 전반에 걸쳐 반복적으로 나타나는 공통 관심사(Cross-Cutting Concerns)를 핵심 비즈니스 로직과 분리하여 관리하는 프로그래밍 기법입니다. 스프링 프레임워크는 AOP를 활용해 로깅, 트랜잭션 관리, 보안과 같은 공통 작업을 모듈화하여 코드의 중복을 줄이고 유지보수를 용이하게 합니다.AOP의 필요성비즈니스 로직에 다음과 같은 공통 작업이 섞여 있다면 코드가 복잡해지고 중복이 늘어납니다.메시드 실행 전/후 로깅데이터 검증보안 인증/인가트랜잭션 처리AOP 적용 전 class UserService { fun createUser(user: Us..

Kotlin 2024.12.23

State Pattern(상태 패턴)

State Pattern소프트웨어 디자인 패턴중 하나로 State Pattern(상태 패턴) 은 객체의 상태에 따라 행동이 달라지는 경우에 사용되는 디자인 패턴입니다.이때 상태를 조건문으로 검사하여 행위를 달리 하는 것이 아닌 상태를 객체화 하여 상태가 행동할 수 있도록 위임합니다.객체 내부에 상태 객체를 저장하고, 상태 변경에 따라 행동 로직을 동적으로 변경할 수 있습니다. 상태를 클래스로 표현하면 클래스를 교체해서 ‘상태의 변화’를 표현할 수 있고, 객체 내부 상태 변경에 따라 객체의 행동을 상태에 특화된 행동들로 분리해 낼 수 있으며, 새로운 행동을 추가하더라도 다른 행동에 영향을 주지 않습니다.State Pattern 탄생 배경state 패턴이 등장한 배경은 객체의 상태에 따라 동작이 달라지는 경..

디자인패턴 2024.12.19

Abstract Factory Pattern(추상 팩토리)

Abstract Factory Pattern소프트웨어 디자인 패턴중 하나로, 객체 생성을 위한 디자인 패턴입니다.관련된 객체들의 팩토리를 묶어 추상화하는 역할을 합니다.팩토리 메서드 패턴의 확장된 형태이며, 상호 관련되거나 의존적인 객체군(제품군)을 생성할 때 유용합니다. 추상 팩토리는 인터페이스를 제공하고, 이 인터페이스를 구현하는 구체적인 팩토리가 제품군을 생성합니다.클라이언트는 구체적인 팩토리 클래스를 알 필요 없이 인터페이스를 통해 객체를 생성합니다.  팩토리 메서드 패턴과 추상 팩토리 패턴의 차이점과 확장된 점팩토리 메서드 패턴객체를 생성할 때 단일 제품에 대해 팩토리 메서드를 제공합니다.하나의 팩토리 메서드가 특정 제품의 객체를 생성합니다.추상 팩토리 패턴여러 제품군에 대한 객체를 생성할 수 ..

디자인패턴 2024.12.17
반응형