>백엔드 개발 >PHP 튜토리얼 >PHP 디자인 패턴 학습 요약 공유

PHP 디자인 패턴 학습 요약 공유

藏色散人
藏色散人앞으로
2021-06-03 15:48:472929검색

이 글에서는 PHP 디자인 패턴 학습 요약을 소개하고 공유하겠습니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

기사 요약

이 기사에서는 매우 실용적인 디자인 패턴 학습 웹사이트를 공유합니다. 디자인 패턴을 배우기 전에 먼저 디자인 패턴을 배우는 이유를 알아야겠죠? 정확하고 효율적인 학습 설계 모델을 갖추는 방법은 무엇입니까? 아래 그림은 디자인 패턴을 학습하는 과정에서 개인을 위한 일반적인 학습 아이디어를 나열합니다.


PHP 디자인 패턴 학습 요약 공유

디자인 패턴이란 무엇입니까? 디자인 패턴은 소프트웨어 디자인에서 흔히 발생하는 문제에 대한 일반적인 솔루션입니다. 이는 필요에 맞게 조정할 수 있고 코드에서 반복되는 설계 문제를 해결하는 데 사용할 수 있는 미리 만들어진 청사진과 같습니다.

디자인 패턴은 메소드나 라이브러리를 사용하는 방법에 따라 자신의 프로그램에 직접 적용하기가 어렵습니다. 패턴은 특정 코드 조각이 아니라 특정 문제를 해결하는 일반적인 개념입니다. 패턴을 사용하여 실제 요구 사항을 충족하는 솔루션을 구현할 수 있습니다.

사람들은 패턴과 알고리즘이 개념적으로 특정 문제에 대한 일반적인 솔루션으로 알려져 있기 때문에 종종 혼동합니다. 그러나 알고리즘은 항상 특정 목표를 달성하는 데 필요한 일련의 단계를 명확하게 정의하지만 패턴은 솔루션에 대한 더 높은 수준의 설명입니다. 두 개의 서로 다른 프로그램에서 동일한 패턴의 구현 코드가 다를 수 있습니다.

알고리즘은 레시피와 비슷합니다. 목표 달성을 위한 명확한 단계를 제공합니다. 패턴은 청사진에 가깝습니다. 패턴의 최종 결과와 기능을 볼 수 있지만 구현 단계는 직접 결정해야 합니다.

디자인 패턴 개발의 역사

디자인 패턴을 발명한 사람은 누구일까요? 이것은 좋은 질문이지만 약간 부정확하기도 합니다. 디자인 패턴은 난해하고 복잡한 개념이 아닙니다. 사실 그 반대입니다. 패턴은 객체 지향 디자인의 일반적인 문제에 대한 일반적인 솔루션입니다. 다양한 프로젝트에서 동일한 솔루션이 계속해서 사용되었기 때문에 결국 누군가가 솔루션에 이름을 부여하고 자세히 설명했습니다. 이것은 기본적으로 패턴 발견 과정입니다.

패턴의 개념은 크리스토퍼 알렉산더(Christopher Alexander)가 그의 저서 "Architectural Pattern Language"에서 처음 제안했습니다. 이 책은 패턴을 기본 단위로 하는 도시 디자인의 '언어'를 소개한다. 패턴에는 창문의 높이, 건물의 층수, 블록에 초목의 양에 대한 설명이 포함될 수 있습니다.

4명의 작가인 Erich Gamma, John Freesides, Ralph Johnson, Richard Helm은 패턴의 개념을 수용했습니다. 1994년에는 디자인 패턴의 개념을 프로그램 개발 분야에 적용한 "디자인 패턴: 재사용 가능한 객체 지향 소프트웨어의 기초"라는 책을 출판했습니다. 이 책은 객체지향 프로그래밍의 다양한 문제를 해결하기 위해 23가지 패턴을 제공했고, 단숨에 베스트셀러가 됐다. 제목이 너무 길어서 "The Gang of Four (GoF) Book"으로 줄여졌고, 곧 "The GoF Book"으로 더 축약되었습니다.

그 이후로 사람들은 수십 가지 객체 지향 패턴을 발견했습니다. "패턴 접근 방식"은 프로그램 개발의 다른 영역에서도 인기를 얻었습니다. 요즘에는 객체 지향 디자인 분야 외에도 많은 다른 패턴이 제안되었습니다.

디자인 패턴 분류

다양한 디자인 패턴은 전체 시스템에서의 복잡성, 세부 수준 및 적용 범위에 따라 다릅니다. 저는 이것을 도로 건설에 비유하고 싶습니다. 교차로를 더 안전하게 만들고 싶다면 신호등을 설치하거나 보행자용 지하도를 포함하는 다층 교차로를 건설하세요.

가장 기본적이고 낮은 수준의 패턴을 흔히 관용구라고 합니다. 이러한 유형의 패턴은 일반적으로 하나의 프로그래밍 언어에서만 사용할 수 있습니다.

가장 일반적이고 높은 수준의 패턴은 아키텍처 패턴입니다. 개발자는 모든 프로그래밍 언어에서 이러한 유형의 패턴을 사용할 수 있습니다. 다른 패턴과 달리 전체 애플리케이션을 설계하는 데 사용할 수 있습니다.

게다가 모든 모드는 의도나 목적에 따라 분류될 수 있습니다. 이 책에서는 세 가지 주요 패턴 카테고리를 다룹니다.

  1. Creational 패턴은 객체를 생성하는 메커니즘을 제공하여 기존 코드의 유연성과 재사용성을 높입니다.

  2. 구조 패턴은 구조를 유연하고 효율적으로 유지하면서 객체와 클래스를 더 큰 구조로 조립하는 방법을 소개합니다.

  3. 행동 모델은 객체 간의 효율적인 의사소통과 책임 위임을 담당합니다.

아래 그림을 통해 대략적으로 나열하면 다음과 같습니다.
PHP 디자인 패턴 학습 요약 공유

Pattern Practice

위에서 디자인 패턴에 대한 몇 가지 기본 지식을 공유합니다. 또한 디자인 패턴의 개발 이력과 분류에 대해 어느 정도 이해하고 코드를 통해 실습합니다. 디자인 패턴을 배울 때 누구나 문제에 직면하는 경우가 많습니다.

  1. 프로그래밍 언어 A에서도 같은 디자인 패턴을 구현할 수 있는데, 프로그래밍 언어 B에서는 어떻게 구현하는지 모르겠습니다.

  2. 초보자 여러분, 읽은 책이나 기사에 사용된 프로그래밍 언어가 현재 마스터하고 있는 프로그래밍 언어와 일치하지 않기 때문에 학습이 더욱 어려워집니다.

위의 문제에 대해 이 웹사이트가 하나씩 해결하는 데 도움이 될 것입니다. 웹사이트에는 대부분의 학습자를 만족시키기 위해 다양한 프로그래밍 언어에 대한 샘플 코드가 있습니다.

학습 방법

샘플 코드에서는 디자인 패턴의 정의뿐만 아니라 논리도, UML 다이어그램, 실제 코드, 실제 환경까지 소개하고 있습니다. 동시에, 실제 환경 사례를 통해 디자인 패턴을 요약함으로써 디자인 패턴을 이해하는데 도움을 준다는 점이 가장 큰 특징이다. 다음 그림은 디자인 패턴 샘플 코드를 학습하는 일반적인 아이디어입니다.
PHP 디자인 패턴 학습 요약 공유

웹 사이트 주소

위에는 디자인 패턴에 대한 몇 가지 기본 지식과 웹 사이트 디자인 패턴을 학습하는 방법과 수단이 대략적으로 나열되어 있습니다. 웹사이트의 구체적인 URL은 다음과 같습니다: refactoringguru.cn/design-patterns

권장: "PHP Video Tutorial"

위 내용은 PHP 디자인 패턴 학습 요약 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제