>백엔드 개발 >PHP 튜토리얼 >PHP 팩토리 디자인 패턴

PHP 팩토리 디자인 패턴

一个新手
一个新手원래의
2017-09-12 11:23:041164검색

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" );

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

아아아아

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.