私は現在、php でシステムを設計しており、共通の属性を共有する多くのエンティティを持っているので、物事を抽象化するためにインターフェイスを作成できると考えていました。たとえば、次のエンティティがあります。
Category(name, parent, modification_date, creation_date, state, lang, en_id, sort_order)
Page(name, content, modification_date, creation_date, state, state_message, approver, lang, en_id, seo_description, seo_title)
Faq(name, content, modification_date, creation_date, state, state_message, approver, lang, en_id, seo_description, seo_title)
状態は、承認済み、保留中、または下書きのいずれかです
phpで以下のインターフェースを作ろうと思っていました
IAutostoreDate(creation_date, modification_date)
ISeoAble(seo_description, seo_title)
IApprovable(state, state_message, approver)
ITranslatable(lang, en_id)
そして、私が抽象化することがもっとあります。
問題は、一部のエンティティが多くのクラスを実装するため、これは推奨されるアプローチですか、それとも推奨されないアプローチですか?