Problèmes avec la « façade » et le « contrat » de Laravel :
Il y a deux questions :
1 Quels sont les scénarios d'utilisation de ces deux choses ?
2. Je ne comprends pas pourquoi ces deux mots sont utilisés. J'ai l'impression qu'ils sont complètement incohérents. Ces deux mots ont-ils quelque chose à voir avec leurs fonctions ?
En termes simples :
Apparence
(laFaçade
dont vous parlez) est l'implémentation duMode Apparence
.外观
(你说的门面
)是外观模式
的实现。协议
(你说的契约
)是工厂方法模式
或抽象工厂模式
LeProtocole
(leContrat
dont vous parlez) est l'implémentation duFactory Method Pattern
ou duAbstract Factory Pattern
.Lisez les modèles de conception et vous gagnerez beaucoup.
Vous devez d'abord apprendre à utiliser les conteneurs d'injection de dépendances.
Laravel's Facade est un raccourci pour appeler des services depuis le conteneur.
Lorsqu'il n'y a pas de Façade, vous devrez peut-être vous procurer un service/objet comme celui-ci puis appeler :
Parce que vous avez enregistré
'some_service'
dans le conteneur, le conteneur peutcréer
une instance pour vous.'some_service'
,所以容器能make
一个实例给你。Facade只是用静态方式简化了这个使用过程,底层用
Facade simplifie simplement le processus d'utilisation de manière statique. La couche inférieure utilise__callStatic
__callStatic
pour transmettre des fonctions et des paramètres à l'instance de service :Facade, pour faire simple, consiste à donner un alias au service lié dans le conteneur de service, en utilisant la fonction class_alias
Par exemple, App correspond à la classe Container.
Un contrat, comme son nom l'indique, est une règle que les deux parties reconnaissent et respectent, et « interface » a également ces caractéristiques. L'affiche demandait qu'il devrait s'agir d'une « programmation orientée interface ». expliquez clairement. Je suis encore relativement inexpérimenté, l'affiche a besoin de plus de pratique et d'expérience, s'il vous plaît, pardonnez-moi...
.