Примеры написаны на F #, но их легко перевести на любой другой функциональный язык с алгебраическими типами (в моем случае Haskell и PureScript).
я был большой опыт написания доменных приложений с использованием C #. Чем больше приложений я пишу, тем больше я нахожу, что хочу использовать подход, который не очень хорошо подходит для стандартных методов C # / OO:
Я хочу написать как можно больше чистых функций, потому что их действительно легко протестировать.Я хочу написать свою бизнес-логику более декларативным способом.Поэтому я смотрю на функциональные языки, такие как F #. В конце концов, нет никаких причин, по которым доменный дизайнимеет быть реализован с использованием ОО.
Мне было интересно, есть ли у кого-нибудь какие-либо идеи / опыт в разработке дизайна, ориентированного на домен, с использованием функционального языка. Особенно:
Как будет выглядеть функциональная модель предметной области?Как бы вы абстрагировали слой доступа к данным от модели предметной области?