PHP의 일반적인 팩토리 디자인 패턴에 대한 자세한 설명

黄舟
풀어 주다: 2023-03-15 14:22:02
원래의
1249명이 탐색했습니다.

1. 팩토리 패턴
은 객체를 생성하는 특정 메서드가 있는 클래스입니다. new를 직접 사용하지 않고도 팩토리 클래스를 사용하여 객체를 생성할 수 있습니다. 이렇게 하면 생성된 객체의 유형을 변경하려면 팩토리만 변경하면 됩니다. 이 팩토리를 사용하는 모든 코드는 자동으로 변경됩니다.

다음 코드는 팩토리 클래스의 예입니다. 방정식의 서버 측은 피드백을 추가하고, 피드백 목록을 요청하고, 특정 피드백과 관련된 기사를 얻을 수 있는 데이터베이스와 PHP 페이지 세트라는 두 부분으로 구성됩니다.

IUser 인터페이스는 사용자 객체가 수행해야 하는 작업을 정의합니다:


interface IUser
{  function getName();
}
로그인 후 복사

IUser 구현은 User라고 합니다.


class User implements IUser
{  public function __construct( $id ) { } 
  public function getName()
  {    return "Jack";
  }
}
로그인 후 복사

UserFactory 팩토리 클래스는 IUser 객체를 생성합니다.


class UserFactory
{  public static function Create( $id )
  {    return new User( $id );
  }
}
로그인 후 복사

테스트 코드가 팩토리로 전송됩니다. User 对象,并输出 getName 메소드 요청 결과:


$pr = UserFactory::Create( 1 );echo( $pr->getName()."\n" );
로그인 후 복사

팩토리 메소드를 사용하는 팩토리 패턴의 변형이 있습니다. 클래스의 이러한 공용 정적 메서드는 해당 유형의 개체를 구성합니다. 이 방법은 이 유형의 객체를 생성하는 것이 중요한 경우 유용합니다. 예를 들어, 먼저 개체를 만든 다음 여러 속성을 설정해야 한다고 가정해 보겠습니다. 이 버전의 팩토리 패턴은 프로세스를 단일 위치에 캡슐화하므로 복잡한 초기화 코드를 복사하여 코드 베이스 전체에 붙여넣을 필요가 없습니다.


rreee

위 내용은 PHP의 일반적인 팩토리 디자인 패턴에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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