私が取り組んでいる Web サイトでは、フロントエンドとバックエンド (CMS) で使用するメディア サービス オブジェクトを作成しました。このメディア サービス オブジェクトは、ローカル リポジトリ (DB) 内のメディアを操作します。ビデオをアップロード/埋め込み、画像をアップロードする機能を提供します。
つまり、Web サイトの訪問者はフロントエンドでこれを行うことができますが、サイトの管理者はバックエンドでもこれを行うことができます。
このサービスは、訪問者がフロントエンドで新しいメディアをアップロード/埋め込みしたときに管理者にメールを送信することを望みますが、バックエンドでメディアを自分でアップロード/埋め込みするときはメールを送信しないでください。
そのため、メール機能を模倣する null オブジェクトをバックエンドの Media Service に渡すのに適しているかどうか疑問に思い始めました。バックエンドにメール機能も実装する必要があると判断した場合、これが役立つかもしれないと思いました。
簡単に言えば、次のようなことをしたいと思います。
フロントエンド:
$mediaService = new MediaService( new MediaRepository(), new StandardMailService() );
バックエンド:
$mediaService = new MediaService( new MediaRepository(), new NullMailService() );
これについてどう思いますか?これは理にかなっていますか?それとも、今後の問題に備えていますか?