84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
laravel の「ファサード」と「コントラクト」の問題:質問は 2 つあります:1. これら 2 つの使用シナリオは何ですか? 2. この 2 つの言葉がなぜ使われているのか理解できません。これら 2 つの言葉はそれぞれの機能に関係があるのでしょうか。
簡単に言えば: Appearance (あなたが話している Facade) は Appearance モード の実装です。 外观(你说的门面)是外观模式的实现。协议(你说的契约)是工厂方法模式或抽象工厂模式プロトコル (あなたが話している コントラクト) は、ファクトリ メソッド パターン または 抽象ファクトリ パターン の実装です。
Appearance
Facade
Appearance モード
外观
门面
外观模式
协议
契约
工厂方法模式
抽象工厂模式
プロトコル
コントラクト
ファクトリ メソッド パターン
抽象ファクトリ パターン
デザインパターンを読むと、多くのことが得られます。
まず依存関係注入コンテナーの使用方法を学習する必要があります。
Laravel の Facade は、コンテナからサービスを呼び出すためのショートカットです。
ファサードがない場合は、次のようなサービス/オブジェクトを取得してから呼び出す必要がある場合があります:
コンテナにインスタンスを'some_service',所以容器能make登録したためです。
'some_service'
make
Facade は、この使用プロセスを静的な方法で単純化するだけで、最下層は __callStatic を使用して関数とパラメーターをサービス インスタンスに渡します。 リーリー
__callStatic
リーリー
Facadeとは、簡単に言うと、class_alias関数を使ってサービスコンテナにバインドされたサービスにエイリアスを与えることです例えばAppはContainerクラスに相当します。
契約とは、その名のとおり、双方が認識し遵守するルールであり、「インターフェース」にもそのような特徴があり、「インターフェース指向のプログラミング」であるべきだと投稿者は問いました。わかりやすく説明してください。私はまだ経験が浅いので、投稿者にはもっと練習と経験が必要です。ご容赦ください。
簡単に言えば:
Appearance
(あなたが話しているFacade
) はAppearance モード
の実装です。外观
(你说的门面
)是外观模式
的实现。协议
(你说的契约
)是工厂方法模式
或抽象工厂模式
プロトコル
(あなたが話しているコントラクト
) は、ファクトリ メソッド パターン
または抽象ファクトリ パターン
の実装です。デザインパターンを読むと、多くのことが得られます。
まず依存関係注入コンテナーの使用方法を学習する必要があります。
Laravel の Facade は、コンテナからサービスを呼び出すためのショートカットです。
ファサードがない場合は、次のようなサービス/オブジェクトを取得してから呼び出す必要がある場合があります:
リーリーコンテナにインスタンスを
'some_service'
,所以容器能make
登録したためです。Facade は、この使用プロセスを静的な方法で単純化するだけで、最下層は
Contract は、フレームワークに付属する一連のインターフェイスであり、依存関係の注入を通じて実装できます。__callStatic
を使用して関数とパラメーターをサービス インスタンスに渡します。 リーリーリーリー
Facade と Contract は、依存関係注入コンテナーを使用する別の方法です。Facade を使用するには、コンテナーに移動して自分でコンテナーを取得し (コンテナーをサービス ロケーターとして使用します)、Contract を使用するには、コンテナーが依存関係を注入するのを待ちます。 。Facadeとは、簡単に言うと、class_alias関数を使ってサービスコンテナにバインドされたサービスにエイリアスを与えることです
例えばAppはContainerクラスに相当します。
契約とは、その名のとおり、双方が認識し遵守するルールであり、「インターフェース」にもそのような特徴があり、「インターフェース指向のプログラミング」であるべきだと投稿者は問いました。わかりやすく説明してください。私はまだ経験が浅いので、投稿者にはもっと練習と経験が必要です。ご容赦ください。