본문 바로가기

SMALL

분류 전체보기

(27)
GOF 스트레티지 패턴(Strategy Pattern) 자바에서 스트레티지 패턴(Strategy Pattern)은 객체지향 디자인 패턴 중 하나로, 알고리즘군을 정의하고 각각을 캡슐화하여 상호교환이 가능하도록 만든 패턴입니다. 이 패턴은 알고리즘이 자주 변경되는 경우나, 유사한 알고리즘이 다양하게 적용되는 경우, 알고리즘을 사용하는 클라이언트와 독립적으로 알고리즘을 변경하고 싶은 경우에 유용합니다. 스트레티지 패턴은 크게 세 가지 요소로 이루어져 있습니다. 첫째는 Context(컨텍스트)입니다. 이는 알고리즘을 사용하는 역할을 합니다. 둘째는 Strategy(전략)입니다. 이는 알고리즘을 캡슐화한 인터페이스(abstract class)를 의미합니다. 셋째는 ConcreteStrategy(구체적 전략)입니다. 이는 알고리즘을 실제로 구현한 클래스를 의미합니다...
GOF Observer Pattern 자바 옵저버 패턴(Java Observer Pattern)은 객체지향 프로그래밍에서 많이 사용되는 디자인 패턴 중 하나로, 객체 간의 의존성을 줄이고 유연하게 상호작용할 수 있는 방법을 제공합니다. 옵저버 패턴은 Subject(주체)와 Observer(관찰자)라는 두 개의 인터페이스로 이루어집니다. Subject는 데이터 변경을 관리하고, Observer는 이러한 데이터 변경 사항을 감지하고 이에 따른 행동을 취합니다. 자바에서는 java.util 패키지에서 옵저버 패턴을 구현하는 데 필요한 클래스와 인터페이스를 제공합니다. 예를 들어, Subject를 구현하는 Observable 클래스와 Observer를 구현하는 Observer 인터페이스가 있습니다. 옵저버 패턴의 구현 방법은 다음과 같습니다. Su..
GOF Abstract Factory Pattern 추상 팩토리 패턴(Abstract Factory Pattern)은 객체를 생성하기 위한 패턴 중 하나입니다. 이 패턴은 관련된 객체들의 집합을 생성하기 위한 인터페이스를 제공하며, 이를 이용하여 구체적인 객체의 생성을 추상화합니다. 추상 팩토리 패턴은 객체 생성을 위한 인터페이스와 구현을 분리하여, 객체 생성 과정의 유연성과 확장성을 높이고, 코드의 의존성을 낮춥니다. 이 패턴은 특히 서로 관련된 객체들을 생성해야 하는 경우에 유용합니다. 추상 팩토리 패턴은 일반적으로 추상 팩토리(Abstract Factory)라는 인터페이스를 정의하며, 이 인터페이스는 관련된 객체들의 집합을 생성하는 메서드들을 제공합니다. 구체적인 팩토리 클래스들은 추상 팩토리 인터페이스를 구현하며, 이 클래스들은 실제로 객체를 생성..
GOF Iterator 패턴 Iterator 패턴은 객체 지향 디자인 패턴 중 하나로, 컬렉션 객체의 요소에 접근하기 위한 일관된 인터페이스를 제공하는 패턴입니다. Iterator 패턴을 사용하면, 컬렉션 객체의 내부 구조를 외부로 노출하지 않고도 요소에 접근할 수 있습니다. 이는 객체의 캡슐화를 유지하는 데 도움이 되며, 컬렉션 객체와 사용자 간의 결합도를 낮춰줍니다. Iterator 패턴은 주로 다음과 같은 상황에서 사용됩니다. - 컬렉션 객체의 내부 구조를 숨기고, 요소에 일관된 방식으로 접근하고 싶을 때 - 여러 종류의 컬렉션 객체를 일관된 방식으로 접근하고 싶을 때 - 컬렉션 객체를 순회하면서 요소를 제거하는 등의 작업을 수행할 때 Iterator 패턴은 일반적으로 Iterator, ConcreteIterator, Aggr..
Gof Template method 패턴 GoF(Gang of Four) 디자인 패턴 중 하나인 Template Method 패턴은, 알고리즘의 구조를 정의하고, 일부 단계를 서브클래스에서 구현할 수 있도록 하는 행위 패턴입니다. Template Method 패턴은 추상 클래스에 기본적인 알고리즘의 뼈대를 정의하고, 서브클래스에서 이 뼈대를 따라가면서 필요한 단계를 구현하도록 합니다. 즉, 알고리즘의 전체 구조는 추상 클래스에서 정의하고, 각 단계의 구체적인 구현은 서브클래스에서 정의합니다. 이 패턴을 사용하면, 코드의 중복을 줄일 수 있으며, 코드의 유연성을 높일 수 있습니다. 또한, 추상 클래스를 사용하여 알고리즘의 뼈대를 정의하므로, 알고리즘의 구조가 변경되어도 서브클래스에서 구현하는 단계만 변경하면 되므로, 유지보수성이 높아집니다. 예를..
GOF Factory method 패턴 Factory method는 부모(Parent)클래스에서 객체들을 생성할 수 있는 인터페이스를 제공하지만, 자식(Child) 클래스들이 생성될 객체들의 유형을 변경할 수 있도록 하는 생성 패턴입니다. Factory method는 부모(상위) 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴이며. 자식(하위) 클래스가 어떤 객체를 생성할지를 결정하도록 하는 패턴이기도 합니다. 부모(상위) 클래스 코드에 구체 클래스 이름을 감추기 위한 방법으로도 사용합니다. 팩토리 메서드 패턴(Factory Method Pattern)은 객체 생성을 처리하는 디자인 패턴 중 하나입니다. 이 패턴은 객체를 생성하는 인터페이스를 정의하고, 이를 구현하는 클래스에서 실제 객체의 생성을 처리하는 방식으로 동작합니다. 즉, 팩토리..
GOF singleton 패턴 Gang of Four 라 불리던 컴퓨터 공학자인 에리히 감마(Erich Gamma), 리처드 헬름(Richard Helm), 랄프 존슨(Ralph Johnson), 존 블리시데스(John Vlissides)에 의해 만들어진 디자인 패턴으로 효율적인 프로젝트를 진행하기 위해 고안되었습니다. GOF(Gang of Four) 디자인 패턴은 소프트웨어 디자인에 대한 디자인 패턴을 제시한 책인 "Design Patterns: Elements of Reusable Object-Oriented Software"에서 소개된 디자인 패턴을 의미합니다. GOF 디자인 패턴은 객체 지향 소프트웨어 디자인에서 공통적으로 발생하는 문제를 해결하기 위한 일련의 디자인 패턴을 제시합니다. 이러한 디자인 패턴은 객체 지향 소프트웨..

LIST