Я пытаюсь разработать новый проект с большей точки зрения, и в то время как я в основном понимаю принципы, некоторые вещи все еще навязывают мне.Где находится логика внешнего устройства в проекте, управляемом доменом?
Мой домен требует взаимодействия с внешними устройствами, поэтому мне нужно определить интерфейсы для обнаружения устройств, создания модели и в какой-то степени связи.
Все, что указано выше, относится к основному домену или из области, ориентированной на домен, похоже на это (что помогает моему домену, но не является моим доменом как таковым) полностью сидит за пределами домена и использует поведение, определенное в домен для работы?
Чтобы добавить немного больше информации, я в настоящее время архитектура смоделированы похожа на следующее:
* Domain (references nothing)
+ IDiscoverDevices (device discovery interface)
- BeginDiscovery: void
- EndDiscovery: void
+ IDeviceProvider (factory for device creation)
- Make: IDevice
+ IDevice
* Framework (references Domain)
+ DiscoverDevices
+ DeviceProvider
* Client (references Domain and Framework)
+ SomeView (takes IDiscoverDevices, IDeviceProvider via ctor)
Мы обсуждаем использование DDD в аналогичном контексте. Мы склоняемся к тому, чтобы не использовать DDD, поскольку в нашем случае мы не видим реальной бизнес-логики. Мы просто предоставляем клей, который соединяет устройства, которые, вероятно, можно считать бизнес-логикой. –
@ ChristopheHerreman - Я начинаю приходить к аналогичному выводу относительно использования DDD, и, честно говоря, моя более поздняя разработка была меньше, чем домен. Дальнейшее исследование использования и преимуществ DDD предполагает, что оно не так полезно в контексте, где есть более техническая логика, чем бизнес-логика, такая, как мой проект. – Unflux
Было бы здорово, если бы ppl перестанет думать о DDD как еще один молот. DDD - это мышление, когда вы пытаетесь моделировать вещи и идентифицировать _if_, у вас есть домен, в котором вы используете DDD. Если ваше приложение является всего лишь компонентом для склеивания, то все, что моделирует его концепции, структуру и поведение, это ваш домен. – MikeSW