複数のビデオを受信し、特定のページに表示する必要があるアプリケーションを使用しています。現在、これらのビデオは、他のプロバイダーを許可しない実装のため、YouTube からのみ取得できます。これは、コードがビデオ データを取得するためです。プレビュー画像として、ビデオの表示を担当する View Helper に直接配置されました。
この構造を変更して、Vimeo などの新しいプロバイダーを簡単に追加できるようにしたいと考えています。また、Strategy パターンが理想的だと思います。View Helper に methodがあり、このsetVideoUrl( string $url )
メソッドはgetProviderStrategy( string $url )
からメソッドを呼び出します。ファクトリ クラスは、ビデオ URL のプロバイダーのclass VideoProviderFactory
を実装する戦略クラスがあれば、それを返します。interface VideoProvider
どう思いますか?正解です?何かを変更する必要がありますか?
詳細: 最初は戦略を選択するためのスイッチをビュー ヘルパーに直接配置することを考えていましたが、この質問を読んだ後: I Strategy Pattern with no 'switch' statement? 私は自分が間違っていることに気づき、それからclass VideoProviderFactory
現れました。