PHP 디자인 패턴이 일반적으로 사용됩니까?

(*-*)浩
풀어 주다: 2023-02-24 12:12:01
원래의
2118명이 탐색했습니다.

디자인 패턴(Design Pattern)

PHP 디자인 패턴이 일반적으로 사용됩니까?

디자인 패턴(Design Pattern)은 대부분의 사람들이 반복적으로 사용하고 알고 있는 코드 디자인 경험을 분류하고 정리한 집합입니다. 디자인 패턴을 사용하는 목적은 코드를 재사용하고, 다른 사람이 코드를 더 쉽게 이해할 수 있도록 하며, 코드 신뢰성을 보장하는 것입니다.디자인 패턴이 우리 자신과 타인, 그리고 시스템 모두에게 윈윈(win-win)이라는 것은 의심의 여지가 없습니다. 디자인 패턴은 코딩을 진정한 엔지니어링으로 만듭니다. 디자인 패턴은 건물의 구조와 마찬가지로 소프트웨어 엔지니어링의 초석입니다. (추천 학습 :PHP 프로그래밍 입문부터 마스터까지)

왜 디자인 패턴(Design Pattern)을 옹호해야 할까요?

기본적인 이유는 코드를 재사용하고 유지 관리성을 높이는 것입니다.

디자인 패턴의 6가지 원칙

개방 및 폐쇄 원칙: 클래스, 모듈, 기능과 같은 소프트웨어 엔터티는 확장에는 개방적이고 수정에는 폐쇄적이어야 합니다.

리히터 대체 원칙: 기본 클래스를 참조하는 모든 장소는 해당 하위 클래스의 객체를 투명하게 사용할 수 있어야 합니다.

종속성 반전 원칙: 상위 수준 모듈은 하위 수준 모듈에 의존해서는 안 되며 둘 다 추상화에 의존해야 합니다. 추상화는 세부사항에 의존해서는 안 됩니다. 세부사항은 추상화에 의존해야 합니다.

단일 책임 원칙: 수업 변경에 대한 이유가 두 가지 이상이어서는 안 됩니다. 평신도의 관점에서 클래스는 단 하나의 책임만 담당합니다.

인터페이스 격리 원칙: 클라이언트는 필요하지 않은 인터페이스에 의존해서는 안 됩니다. 한 클래스가 다른 클래스에 종속되는 것은 가장 작은 인터페이스를 기반으로 해야 합니다.

데미터의 법칙: 객체는 다른 객체에 대해 최소한의 지식을 유지해야 합니다.

디자인 패턴은 이러한 원칙을 구현하여 코드 재사용 목적을 달성하고 유지 관리성을 높입니다.

싱글 케이스 모드

소위 싱글톤 모드는 특정 클래스의 인스턴스가 하나만 있는지 확인하고 자체적으로 인스턴스화하여 이 인스턴스를 전체 시스템에 제공합니다. 즉, 하나만 존재하게 됩니다. 애플리케이션에서 이 클래스의 인스턴스입니다.
일반적으로 싱글톤 모드는 개체에 대한 데이터베이스 액세스만 허용하여 여러 데이터베이스 연결이 열리지 않도록 하는 인스턴스에 사용됩니다. 컴퓨터 시스템에서 스레드 풀, 캐시, 로그 개체, 대화 상자, 프린터, 데이터베이스 작업 및 그래픽 카드 드라이버는 종종 싱글톤으로 설계됩니다.

싱글턴 모드에는 다음과 같은 3가지 특성이 있습니다.

1. 인스턴스는 하나만 있을 수 있고 생성자가 있어야 하며 private

2로 표시되어야 합니다. 이 인스턴스를 직접 만들어야 하며 클래스의 인스턴스를 저장하는 정적 멤버 변수가 있어야 합니다

3. 이 인스턴스는 다른 개체에 제공되어야 하며, 이 인스턴스에 액세스하려면 공용 정적 메서드가 있어야 합니다. 싱글톤 클래스는 다른 클래스에서 직접 인스턴스화할 수 없으며 자체적으로만 인스턴스화할 수 있습니다. 인스턴스의 복사본을 생성하지 않고 싱글톤 클래스 내에 저장된 인스턴스에 대한 참조를 반환합니다.

그렇다면 왜 PHP 싱글톤 패턴을 사용할까요?

PHP의 주요 애플리케이션 시나리오 중 하나는 애플리케이션이 데이터베이스를 다루는 시나리오입니다. 애플리케이션에서는 데이터베이스 핸들을 사용하여 데이터베이스에 연결하는 동작이 많이 있습니다. 싱글톤 모드에서는 많은 수의 새로운 작업을 피할 수 있습니다. 모든 새로운 작업은 시스템 및 메모리 리소스를 소비하기 때문입니다.

위 내용은 PHP 디자인 패턴이 일반적으로 사용됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!