laravel의 "facade" 및 "contract" 관련 문제
过去多啦不再A梦
过去多啦不再A梦 2017-05-16 16:47:41
0
3
478

laravel의 "facade" 및 "contract" 문제:
두 가지 질문이 있습니다.
1. 이 두 가지의 사용 시나리오는 무엇입니까?
2. 이 두 단어가 왜 사용되는지 이해할 수 없습니다. 이 두 단어가 기능과 관련이 있는 것 같나요?

过去多啦不再A梦
过去多啦不再A梦

모든 응답(3)
给我你的怀抱

간단히 말하면:
Appearance(당신이 말하는 Facade)는 Appearance 모드의 구현입니다. 外观(你说的门面)是外观模式的实现。
协议(你说的契约)是工厂方法模式抽象工厂模式프로토콜(말하는 계약)은 팩토리 메서드 패턴 또는 추상 팩토리 패턴의 구현입니다.

디자인 패턴을 읽으면 많은 것을 얻을 수 있습니다.

小葫芦

먼저 종속성 주입 컨테이너를 사용하는 방법을 배워야 합니다.

Laravel의 Facade는 컨테이너에서 서비스를 호출하는 지름길입니다.

Facade가 없으면 이와 같은 서비스/객체를 가져온 다음 다음을 호출해야 할 수도 있습니다.

으아악

컨테이너에 'some_service'를 등록했으므로 컨테이너가 인스턴스를 만들 수 있습니다. 'some_service',所以容器能make一个实例给你。

Facade只是用静态方式简化了这个使用过程,底层用__callStatic

Facade는 정적 방식으로 사용 프로세스를 단순화합니다. 하단 레이어는 __callStatic을 사용하여 함수와 매개변수를 서비스 인스턴스에 전달합니다.

으아악

Contract는 프레임워크와 함께 제공되는 인터페이스 모음으로, 종속성 주입을 통해 구현할 수 있습니다.

으아악

Facade와 Contract는 종속성 주입 컨테이너를 사용하는 다른 방법일 뿐입니다. Facade를 사용하려면 컨테이너로 이동하여 직접 가져오고(컨테이너를 서비스 로케이터로 사용) Contract를 사용하려면 컨테이너가 종속성을 주입할 때까지 기다립니다. . 🎜
曾经蜡笔没有小新

Facade는 간단히 말해서 class_alias 함수를 사용하여 서비스 컨테이너에 바인딩된 서비스에 별칭을 제공하는 것입니다.
예를 들어 App은 Container 클래스에 해당합니다.

계약은 이름에서 알 수 있듯이 양측이 인식하고 준수하는 규정이며 "인터페이스"에도 이러한 특성이 있습니다. 포스터에서는 "인터페이스 지향 프로그래밍"이 어렵습니다. 명확하게 설명해주세요. 포스터는 더 많은 연습과 경험이 필요합니다. 양해해 주세요...

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿