파이썬은 디자인 패턴이 있나요?
Singleton 모드: 클래스에 인스턴스가 하나만 있는지 확인하는 데 주로 사용되는 일반적인 소프트웨어 디자인 패턴입니다. 단일 인스턴스 객체는 전체 시스템에 하나의 클래스 인스턴스만 필요한 경우에 유용합니다. Singleton 객체에는 세 가지 주요 점이 있습니다. 첫째, 클래스당 하나의 인스턴스만 있을 수 있습니다. 둘째, 전체 인스턴스를 직접 만들어야 하고, 셋째, 전체 시스템에 직접 제공해야 합니다.
팩토리 모드: 클라이언트와 달리 객체를 작성하는 인터페이스를 제공합니다. 공용 인터페이스를 사용하여 객체를 작성합니다. 객체는 단순 팩토리, 팩토리 메소드 및 추상 팩토리로 구분됩니다. 클래스 또는 해당 알고리즘의 동작은 런타임에 변경할 수 있습니다. 이 유형의 디자인 패턴은 행동 패턴에 속합니다.
전략 패턴: 각 알고리즘을 캡슐화하고 대체할 수 있는 일련의 알고리즘을 정의하는 일반적인 설계 패턴 중 하나입니다. 정책 모델을 사용하면 알고리즘을 사용하는 고객과 독립적으로 알고리즘을 변경할 수 있습니다. 즉, 문제를 해결하는 템플릿을 정의하는 것입니다. 이 템플릿은 구체적인 전략이며, 각 정책은 이 템플릿에 따라 실행됩니다. 이 경우 새로운 정책이 생기면 이전에 정의된 정책에 영향을 주지 않고 템플릿에 따라 직접 쓸 수 있습니다.
외관 모드: 외관 모드는 외관 모드라고도 합니다. 하위 시스템 외부와 내부 간의 통신은 통합 개체를 통해 이루어져야 한다고 정의합니다. Facade 모드는 하위 시스템을 쉽게 사용할 수 있는 고급 인터페이스를 제공합니다. Facade 스키마는 하위 시스템에 대한 액세스를 제공하는 인터페이스인 통합 객체에 초점을 맞추고 있습니다. Facade 모드는 반복해야 하는 몇 가지 메서드를 캡슐화하는 template 모드와 유사합니다. 하지만 본질적으로 다릅니다. 템플릿 모드는 클래스 자체의 메서드를 캡슐화하며 캡슐화된 메서드도 개별적으로 사용할 수 있습니다. Facade 모드는 하위 시스템의 패키지이며, 캡슐화된 인터페이스는 이론적으로 단독으로 사용되지 않습니다.