私は、古い手続き型の PHP Web サイトをリファクタリングして、風味を加えるためにドメイン駆動設計を少し散りばめたおいしい OOP アプリケーションにしています。
エンティティまたは値オブジェクトのいずれかであるサブクラスを持つことができるクラスが必要な場合につまずきます。
たとえば、url オブジェクト。そこには無数の URL があるため、それらすべてが実際にエンティティになることはできません。しかし、いくつかは私のホームページのように非常に特別な URL です。それが実体です。
もう 1 つの例は、たとえば「構成オブジェクト」です。「プリセット」を作成してオンライン コントロール パネルから管理できるように、一部の構成に ID を設定したいと考えています。それらの場合、それらを見つけるためにファインダー/リポジトリが必要であり、それらの寿命を管理するにはORMが必要です。しかし、他の「非プリセット」(同じクラス階層の) については、その場でカスタマイズされ、永続化する必要のないデータをロードできるようにしたいと考えています。
私は多くのことを想定しています:
class factory {
reconstitute($rawdata) {
if (raw data has identity)
load up and return entity version of the class
else
load up and return anonymous/value object version of the class
それはすべて少し奇妙に思えます。
この問題を処理する最善の方法を議論するパターンはありますか?