は今のところ、私は次のようなデザインを持っています。継承デザイン
ただし、新しいクラスIconUploader
を追加しています。他のクラスとは異なり、これは使用できるアイテムではなく、管理パネルです。 ImageUploader
には、安全なファイルのみがアップロードされることを確認するための特定のセキュリティチェックが含まれており、IconUploader
にもこの予防措置が必要です。
しかし、私は何をすべきか分かりません。理想的には、私はImageUploader
のインターフェースを作っていますが、実際のコードをインターフェースに入れることはできないので、できません。 ImageUploader
をItem
クラス階層の外に移動してその機能を静的にすることはできますが、それは私にはうってつけです。それは...ですか?もしそうでなければ、これを再構築する最良の方法は何ですか?
N.B:PHPを使用しています。何かに影響がある場合は、PHPを使用しています。
右ですが、このクラスはどこに配置しますか?私がアイテム階層に置いておくと、ImageUploaderはアイテムではなくてもアイテムになります。アイテム階層外に移動すると、オブジェクトは1つのクラスだけを拡張できますので、インターフェースを作成しない限り、AvatarUploaderをそのアイテムとItemの両方の子にすることはできません。 – waiwai933
これは 'ImageUploader'の上にあります。そして、 'IconUploader'は' ImageUploader'と同じレベルになります。 (つまり、セキュリティチェックを上に移動すると、両方ともセキュリティチェックを継承します)。 –
私は誤解したと思います。 IconUploaderは画像をアップロードしますが、他の画像とは異なり、アイテムではありません。 – waiwai933