Domain-Driven Design на практике
Вы задумывались как мы проектируем?
Кажется, варианта два:
- быстро, чтобы решить текущие задачи,
- с погружением в детали, чтобы решать задачи не только настоящего, но и будущего.
Первый вариант применим, когда требуется проверить бизнес-идею. Однако, если стартап "взлетел", требуется обращать больше внимания на качество проектирования для получения необходимого уровня гибкости системы. Для этого отлично подходит Domain-Driven Design.
В докладе я расскажу как использовать DDD, чтобы действительно получить хороший результат, и приведу примеры использования DDD в создании внутренних систем компании 2ГИС.
Программисты, перед которыми встает задача проектирования системы, должны сделать выбор - сделать систему, решающую текущие известные задачи, либо погрузиться в предметную область и заняться проектированием системы, которая бы могла гибко преобразовываться, позволяя решать задачи не только настоящего, но и будущего.
Иногда этот выбор прост: в том случае, когда требуется проверить бизнес-идею и предоставить быстрое решение, нет смысла разбираться во всех аспектах и можно применить имеющиеся знания и навыки. Однако, если стартап "взлетел", либо мы делаем новую систему в стабильно развивающемся бизнес-окружении, требуется обращать больше внимания на качество проектирования и задумываться о стоимости владения системы, получившейся в результате.
Одной из широко известных практик для этого является Domain-Driven Design. Но это не набор рекомендаций из разряда "бери и делай" - в каждом конкретном случае требуется учитывать детали предметной области и нюансы бизнеса.
В докладе я расскажу как использовать DDD, чтобы действительно получить хороший результат, и приведу примеры использования DDD в создании внутренних систем компании 2ГИС.