방금 프로젝트 작업을 시작했으며 우리는 도메인 중심 설계 ( 도메인 중심 설계 : 소프트웨어 중심의 태클 복잡성에서 Eric Evans가 정의한대로)를 사용하고 있습니다 . 우리 프로젝트는 확실히이 설계의 후보라고 생각합니다 에반스가 자신의 책에서 설명하는 패턴.
나는 끊임없이 리팩토링이라는 아이디어로 고심하고 있습니다.
리팩토링은 모든 프로젝트에서 필수적이며 소프트웨어가 변경 될 때 필연적으로 발생한다는 것을 알고 있습니다. 그러나 필자의 경험에 따르면 리팩토링은 도메인 변경에 대한 이해 (에반스가 말하는대로 더 큰 통찰력으로 리팩토링)가 아니라 개발 팀의 요구가 변경 될 때 발생합니다. 도메인 모델을 이해하는 데있어 획기적인 문제에 관심이 있습니다. 작은 변경을 이해하지만 모델에 큰 변경이 필요한 경우 어떻게해야합니까?
보다 명확한 도메인 모델을 얻은 후 리팩터링해야하는 자신과 다른 사람을 설득하는 효과적인 방법은 무엇입니까? 결국, 코드 구성 또는 성능을 개선하기위한 리팩토링은 유비쿼터스 언어 코드의 표현면에서 완전히 분리 될 수 있습니다. 때로는 리팩토링 할 시간이 충분하지 않은 것 같습니다.
운 좋게도 SCRUM은 리팩토링에 자신을 빌려줍니다. SCRUM의 반복적 인 특성으로 인해 작은 조각을 만들고 쉽게 변경할 수 있습니다. 그러나 시간이 지남에 따라 그 조각이 커지고 그 조각 후에 돌파구가 너무 커서 변경하기가 어려울 경우 어떻게해야합니까?
도메인 기반 디자인을 사용하는 프로젝트를 수행 한 사람이 있습니까? 그렇다면 이에 대한 통찰력을 얻는 것이 좋습니다. DDD가 제대로 달성하기가 매우 어려워 보이기 때문에 특히 성공 사례를 듣고 싶습니다.
감사!