Я тільки почав працювати над проектом, і ми використовуємо дизайн, керований доменом (як визначено Еріком Евансом у дизайні, керованому доменом: вирішення складності в серці програмного забезпечення . Я вважаю, що наш проект, безумовно, є кандидатом на цей дизайн Рисунок, як Еванс описує це у своїй книзі.
Я борюся з ідеєю постійно рефакторингу.
Я знаю, що рефакторинг - це необхідність у будь-якому проекті, і це неминуче відбуватиметься в міру зміни програмного забезпечення. Однак, на мій досвід, рефакторинг відбувається тоді, коли потреби групи розробників змінюються, а не як розуміння домену змінюється ("рефакторинг на більш глибоке розуміння", як називає Еванс). Мене найбільше хвилює прорив у розумінні доменної моделі. Я розумію, що вносяться невеликі зміни, але що робити, якщо потрібна велика зміна моделі?
Який ефективний спосіб переконати себе (та інших) про те, що вам слід змінити реферат після отримання чіткішої доменної моделі? Зрештою, рефакторинг для поліпшення організації чи продуктивності коду може бути абсолютно окремим від того, наскільки виразним з точки зору повсюдного коду мови. Іноді просто здається, що часу на рефактор не вистачає.
На щастя, SCRUM надає себе на рефакторинг. Ітеративний характер SCRUM дозволяє легко створити невеликий шматок і змінити його. Але з часом цей шматок стане більшим, і що, якщо у вас прорив після цього фрагмента настільки великий, що змінити його буде занадто складно?
Хтось працював над проектом, який використовував дизайн, орієнтований на домен? Якщо так, то було б чудово ознайомитись із цим. Я особливо хотів би почути кілька історій успіху, оскільки DDD здається дуже важким отримати правильний результат.
Дякую!