본문 바로가기

OOD10

Behavioral Pattern 행동 패턴 개념 모음 Behavioral Pattern 객체나 클래스 사이의 알고리즘이나 책임 분배에 관련된 패턴이다. 한 객체가 수행할 수 없는 작업을 여러 개의 객체로 어떻게 분배하며 객체 사이의 결합도 최소화에 중점을 둔다. 패턴을 주로 클래스에 적용하는지 아니면 객체에 적용하는지에 따라 구분되는 패턴이다. --참조 -- https://seungdols.tistory.com/490 GoF의 디자인 패턴 - 행동 패턴 행동 패턴 ( Behavioral pattern ) 어떤 처리의 책임을 어느 객체에 할당하는 것이 좋은지. 알고리즘을 어느 객체에 정의하는 것이 좋은지등을 다룬다. 객체나 클래스에 대한 패턴을 정의하는 것이 아 seungdols.tistory.com 행동 클래스 패턴 클래스 사이에 행동 책임을 분산하기 위해.. 2021. 11. 24.
Structual Pattern (구조패턴) 개념 모음 Structual Pattern (7가지) 구조 패턴(Structural Pattern)은 개체들간의 관계(책임)를 파악해서 설계하는 방법이다. 구조 패턴이란 작은 클래스들을 상속과 합성을 이용하여 더 큰 클래스를 생성하는 방법을 제공하는 패턴입니다. 이 패턴을 사용하면 서로 독립적으로 개발한 클래스 라이브러리를 마치 하나인 양 사용할 수 있습니다. 또, 여러 인터페이스를 합성(Composite)하여 서로 다른 인터페이스들의 통일된 추상을 제공합니다. 구조 패턴의 중요한 포인트는 인터페이스나 구현을 복합하는 것이 아니라 객체를 합성하는 방법을 제공한다는 것입니다. 이는 컴파일 단계에서가 아닌 런타임 단계에서 복합 방법이나 대상을 변경할 수 있다는 점에서 유연성을 갖습니다. --featm https://y.. 2021. 11. 23.
Creational Pattern(생성 패턴) 개념 모음 Creational patterns 인스턴스를 만드는 절차를 추상화하는 패턴이다. 객체를 생성 및 합성하는 방법 또는 객체의 표현 방법을 시스템에서 분리해준다. 즉 객체 생성 매커니즘을 다루는 디자인 패턴이다 --참조-- https://chodragon9.github.io/design-patterns/src/gof/creational/#%EC%B6%94%EC%83%81-%ED%8C%A9%ED%86%A0%EB%A6%AC-abstract-factory GoF 디자인 패턴 | 생성패턴 | ChoDragon9 | Design Patterns 출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. GoF 디자인 패턴 | 생성패턴 인스턴.. 2021. 11. 23.
Command Pattern ( 커맨드 패턴) 커맨드 패턴( Command Pattern ) 커맨드 패턴은 객체의 행위( 메서드 )를 클래스로 만들어 캡슐화 하는 패턴입니다. 즉, 어떤 객체(A)에서 다른 객체(B)의 메서드를 실행하려면 그 객체(B)를 참조하고 있어야 하는 의존성이 발생합니다. 그러나 커맨드 패턴을 적용하면 의존성을 제거할 수 있습니다. 또한 기능이 수정되거나 변경이 일어날 때 A 클래스 코드를 수정없이 기능에 대한 클래스를 정의하면 되므로 시스템이 확장성이 있으면서 유연해집니다. 특징 커맨드 패턴에는 명령(command), 수신자 (receiver), 발동자(invoker), 클라이언트(client) 의 4개의 용어가 항상 따른다. 커맨드 객체는 수신자 객체를 가지고 있으며, 수신자의 메서드를 호출하고, 이에 수신자는 자신에게 정.. 2021. 11. 23.
Abstract Factory Pattern(추상 팩토리 패턴) 추상 팩토리 패턴 ( Abstract Factory Pattern ) 추상 팩토리 패턴이라는 이름만 봐서는 팩토리 메서드 패턴과 비슷해보이지만, 명확한 차이점이 있습니다. 팩토리 메서드 패턴 조건에 따른 객체 생성을 팩토리 클래스로 위임하여, 팩토리 클래스에서 객체를 생성하는 패턴 추상 팩토리 패턴 서로 관련이 있는 객체들을 통째로 묶어서 팩토리 클래스로 만들고, 이들 팩토리를 조건에 따라 생성하도록 다시 팩토리를 만들어서 객체를 생성하는 패턴 추상 팩토리 패턴은 어떻게 보면, 팩토리 메서드 패턴을 좀 더 캡슐화한 방식이라고 볼 수 있습니다. 예) 컴퓨터를 생산하는 공장이있을때 마우스,키보드,모니터의 제조사로 samsung, lg 가 있다고 가정한다. 컴터를 생성할땐 구성품 전부 삼성으로 만들거나, 전부.. 2021. 11. 22.
Adapter Pattern (어뎁터 패턴) 어댑터 패턴 (adapter pattern) 한 클래스의 인터페이스를 클라이언트에서 사용하고자하는 다른 인터페이스로 변환한다. 어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있다. 어댑터 패턴은 서로 다른 인터페이스를 가진 두 클래스를 어댑터 클래스로 인터페이스를 통일 시켜 사용하는 방법이다. 장점 기존 클라이언트 단의 코드 수정 최소화. 클라이언트는 연동부분을 몰라도, 새로운 코드의 기능을 일관되게 사용가능. 단점 어댑터 클래스에서 통일 시켜주는 부분을 하나씩 구현해야 함. 활용 상황 기존의 코드에 새로운 코드(써드파티 라이브러리 등)을 연동하여 사용하고 싶은데, 두 코드의 인터페이스가 달라, 이를 하나로 통일하여 사용하고 싶을 때. 아래 예의 경우, 기존.. 2021. 11. 22.