분류 전체보기

Adaptor Pattern (Structural Pattern) 아답터 패턴은 Wrapper 패턴이라고도 불린다. Wrapper 패턴은 감싸는 것이라는 의미인데 다른 인터페이스를 감싸서 사용하는 것이다. 어댑터 패턴은 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있게 해준다. 아댑터 패턴 2가지 종류 클래스에 의한 어댑터 상속을 통해 어댑터를 구현 객체에 의한 어댑터 위임을 통해 어댑터를 구현 Adaptor Pattern의 예시 (클래스에 의한 어댑터) class Animal: def walk(self): print("walk") class Cat(Animal): def Walk(self): print("cat walk") class Dog(Animal): def Walk..
Prototype Pattern (Creational Pattern) Prototype pattern 이란? 프로토타입 (시제품) 프로토타입 패턴은 어떤 객체 (인스턴스) 를 복제해서 (+수정) 다른 인스턴스를 만드는 방식이다 . 이때 복제 및 수정을 담당하는 메서드는 Clone() 메서드이다. 복제를 할 때는, 깊은 복사를 사용해야한다. 깊은 복사를 사용하지 않고 얕은 복사를 한다면 ? 레이블(네이밍) 만 변경되고 같은객체를 가리킬 뿐이다. 정석적인 인스턴스를 보유한 후 실제로 사용할 인스턴스는 복제를 통해 만들어내는것 이 프로토타입패턴의 의의 이다. 프로토타입 패턴의 구현 #deepcopy(clone) 지원 cat import copy class Cat: # prototype def __init__(..
Singleton Pattern (Creational Pattern) 싱글톤 패턴 (Singleton Pattern): 싱글톤 패턴은 어떤 클래스가 최대 하나의 인스턴스만을 생성하도록 보장하는 패턴이다. 싱글톤 패턴은 인스턴스가 하나만 생성되도록 보장하므로, 전역 객체를 사용할 떄 유용하당. 또한, 싱글톤 패턴을 사용하면, 인스턴스가 하나만 생성되므로, 메모리 낭비를 방지할 수 있다. 다시 말해, 공유된 리소스 에 대한 동시 접근을 제어할 수 있다. 싱글톤 패턴은 하나의 인스턴스만 사용하게 강제하는 패턴이다 . 만약 추가로 인스턴스를 만드려는 시도가 있다면 ? 이미 생성된 인스턴스를 재활용한다 . 싱글톤 패턴을 사용하기 위해서는 ? __new__ 에서 인스턴스를 생성하고, __init__ 에서 인스턴스를..
Builder Pattern (Creational Pattern) 생성할 프로덕트의 구성요소가 많을때, 생성하는 빌더 클래스를 분리하여, 생성자의 파라미터가 많아졌을때, 가독성을 높이기 위해 사용한다. Builder Pattern의 작동방식 우선 Builder Partten을 사용하기 위해서는 다음과 같은 요소들이 필요하다. Builder 인터페이스 Builder 구현 클래스 생성될 프로덕트 인터페이스 생성될 프로덕트 구현 클래스 Builder Pattern을 사용하기 위해서는 다음과 같은 과정을 거친다. 빌더 패턴은 생성될 프로덕트 객체를 생성하는 과정이 너무 복잡할때 사용하는 패턴이다. 생성하는 과정이 복잡하다 = 생성될 프로덕트의 구성요소가 많다. 라는 의미인데 빌더패턴을 통해서, 생성될 프로덕트 ..
Abstract Factory Pattern(Creational Pattern) 추상 팩토리 패턴(Abstract Factory Pattern): 추상 팩토리 패턴은 행렬관계를 가진 클래스의 객체를 생성할때 유용하다. | | 테마 1 | 테마 2 | |--------|--------|---------| | 프로덕1 | | | | 프로덕2 | | | | 프로덕3 | | | 예시 ) 다크모드 라이트모드 버튼 선택! 체크박스 선택! 스크롤바 선택! 위와 같은 행렬관계를 가진 클래스의 객체를 생성할때, 팩토리 자체를 추상화하여, 테마별로 팩토리를 생성하고, 프로덕트를 생성할때, 테마별로 프로덕트를 생성하도록 한다. 이런 디자인 패턴을 추상 팩토리 패턴이라고 한다. 구현 방법 추상 팩토리 패턴을 구현하기 위해서는..
Factory Method Pattern (Creational Pattern) 팩토리 메서드 패턴 (Factory Method Pattern): 팩토리 패턴의 확장판이다. 팩토리 패턴에서는 팩토리 클래스가 객체를 생성하는 역할을 담당했다면, 팩토리 메서드 패턴에서는 팩토리 클래스가 객체를 생성하는 역할을 서브 클래스에게 위임한다. 또한 서브 클래스(컨크리트 팩토리) 클래스에서 추가적인 기능을 제공할 수 있음 Factory Method Pattern의 작동방식 팩토리 메서드 패턴은 객체 생성을 위한 인터페이스를 정의하고, 서브 클래스에서 각각의 다른방식으로 객체를 생성하도록 한다. 예시) 팩토리 메서드 패턴을 사용하여, 강아지와 고양이를 생성하는 것을 생각해봦, 우선, 팩토리 인터페이스를 정의한다. 해당 ..
황빵
'분류 전체보기' 카테고리의 글 목록 (3 Page)