Мы создаем наше приложение, используя DDD.Ценность Объект и внешние библиотеки
Мы пишем наш доменный уровень, и во многих случаях нам нужен тип, например, Деньги, что не входит в наш домен, это больше, чем просто тип объекта, который не существует на языке (PHP).
Мы не хотим тратить время на создание и пересоздание библиотек, что уже существует.
Я почти уверен, что решение для обработки денег и библиотека, которую мы используем, не должны влиять на наш домен, просто потому, что это вопрос реализации.
- Можем ли мы использовать внешние библиотеки в нашем домене?
- Можем ли мы определить интерфейс для ValueObject?
- Должны ли мы положить деньги под наш домен? Это не бухгалтерское программное обеспечение, это просто примитивный тип, который нам нужно использовать, но для нас это действительно не важно. Зачем нам оставаться в домене?
Что является лучшим способом сохранить наш домен, но решить эту проблему?
Начну с вашего ответа 3.. Я чувствую, что Деньги не являются ValueObject в нашем домене. Это не бухгалтерское программное обеспечение, мы просто хотим просто обрабатывать деньги «хорошим способом» и наслаждаться дополнительными возможностями, которые могут возникнуть в этой библиотеке. Например: 'substract',' add', 'equals' и т. Д. Вопрос: Если я поместил это под инфраструктуру, как можно связать мой Entity с этим примитивом типа« Деньги »? На этом уровне я думаю, и поэтому я думал о создании интерфейса для этого VO с базовыми необходимыми функциями позже для инфраструктурного уровня ... – fureszpeter
@fureszpeter Я вижу три решения: включите эту библиотеку в вашем домене, создайте общую библиотеку (которую можно использовать на уровне домена) и создайте интерфейс домена и реализуйте. Я не знаю всех функций php, поэтому вам нужно сравнить, каким образом это хороший компромисс между сложностью разработки и разделением слоев и использованием DDD (DDD всегда является компромиссом, очень сложно создать чистую DDD-приложение) – Backs