mobile menu

The Arrow Newsletter

mobile menu

python 예제 코드로 배우는 핵심 디자인 패턴

이 책에서는 디자인 패턴을 소프트웨어에서 문제가 다시 발생하는 핵심 설계 솔루션으로 설명하고 각 디자인 패턴을 문제의 특성에 따라 범주로 분류합니다. 각 패턴에는 이름, 문제 설명, 디자인 솔루션 및 사용 결과에 대한 설명이 제공됩니다. 생성 설계 패턴은 특정 상황에 가장 적합한 방법으로 개체를 인스턴스화하는 솔루션을 제공합니다. 복잡한 논리 코드 대체: 요구 사항이 변경될 때 새 논리 경로가 필요하기 때문에 형식의 복잡한 논리 구조(if/elif/else)를 유지 관리하기 가 어렵습니다. 코스 개요안녕하세요 모두. 내 이름은 제럴드 브리튼이며, 파이썬과 내 과정, 디자인 패턴에 오신 것을 환영합니다. 궁금한 점은 캐나다 토론토의 TD Bank의 수석 솔루션 디자이너입니다. 이 과정에서는 감마, 헬름, 존슨, 블라스사이드의 고전 디자인 패턴 책에 제시된 재사용 가능한 객체 지향 소프트웨어 디자인요소와 이러한 패턴을 작성하고 파이썬에서 사용하는 방법에 대해 알아봅니다. 이 자료는 중간 파이썬 프로그래머를 다음 단계로 끌어 올리고 단순한 스크립팅을 넘어 본격적인 대규모 응용 프로그램을 개발하는 복잡한 프로젝트로 옮길 수 있는 토대를 마련할 것입니다.

우리가 다룰 주요 주제 중 일부는 객체 지향 디자인 원칙의 검토와 이를 기억하는 편리한 약어인 SOLID를 포함합니다. 오늘날 많은 프로그래밍 언어에서 사용되는 8가지 디자인 패턴. 일반적인 프로그래밍 과제는 이러한 패턴을 사용하여 더 쉽게 만들었습니다. 일반적인 비즈니스 문제와 우리가 보는 패턴을 사용하여 이를 해결하는 방법. 또한 파이썬 프로젝트를 개발하고 디버깅하기위한 훌륭한 도구가있는 여러 IDE. 이 과정이 끝나면 디자인 패턴을 적용하여 까다로운 문제를 간단한 구성 요소로 분해하고 쓰기 쉽고 읽기 쉽고 유지 관리하기 쉬운 Python 프로그램을 만드는 방법을 배웠습니다. 이 과정을 시작하기 전에 클래스, 함수 및 메서드를 작성하는 방법과 모듈 및 패키지를 만들고 사용하는 방법을 포함하여 기본 Python 프로그래밍에 대해 잘 알고 있어야 합니다. 이 여정에 참여하여 다원적 시력의 파이썬 코스와 함께 파이썬 프로그램에서 고전적인 디자인 패턴을 사용하는 방법을 배우십시오. 위의 예에서는 노래를 나타내는 기본 Song 클래스와 형식 매개 변수의 값에 따라 노래 개체를 문자열 표현으로 변환할 수 있는 Song Serializer 클래스가 있습니다.

이 예제는 짧고 단순화되었지만 여전히 복잡성이 많습니다. format 매개 변수의 값에 따라 세 가지 논리 또는 실행 경로가 있습니다. 이것은 큰 문제처럼 보이지 않을 수 있으며 이보다 더 복잡한 코드를 보았을 수 있지만 위의 예제는 여전히 유지 관리하기가 어렵습니다. 공장 디자인 패턴은 여러 하위 클래스가있는 슈퍼 클래스가 있고 입력을 기반으로 하위 클래스 중 하나를 반환해야 할 때 사용됩니다. 이 패턴은 클라이언트 프로그램에서 팩터리 클래스로 클래스를 인스턴스화하는 책임을 집니다. 우리는 공장 클래스에 싱글 톤 패턴을 적용하거나 공장 방법을 정적 만들 수 있습니다. 예를 들어 프로그램 및 공장 패턴 이점에 대한 공장 설계 패턴을 확인하십시오. 이것은 가장 널리 사용되는 자바 디자인 패턴 중 하나입니다.

종속성 주입이 디자인 패턴인지 에 대한 논의에 참여할 의도는 없지만 느슨한 커플링을 구현하는 매우 좋은 메커니즘이며 응용 프로그램을 유지 관리하고 확장할 수 있도록 도와줍니다.