Я реорганизую старый процедурный веб-сайт PHP в вкусное ООП-приложение с легким добавлением Domain Driven Design для дополнительного вкуса.
Я продолжаю сталкиваться со случаями, когда мне нужны классы, которые могут иметь подклассы.которые являются либо сущностями, либо объектами значений.
Например, объект url.Есть миллионы URL-адресов, и поэтому все они не могут быть сущностями.Но некоторые из них очень особенные, например, моя домашняя страница.Это сущность.
Другой пример, скажем, «объект конфигурации».Мне бы хотелось, чтобы в некоторых конфигурациях были идентификаторы, чтобы я мог создавать «пресеты» и управлять ими через онлайн-панель управления.Для тех, кто ищет их, необходимо найти их, а 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
Все это кажется немного странным.
Существует ли какая-либо модель, которая обсуждает лучший способ решения этой проблемы?