Khi chuẩn bị các đề án kinh doanh, phát triển ý tưởng và triển khai các giải pháp phần mềm, các nhà phát triển phần mềm muốn hiện đại hóa mà không cần phải phát minh lại cái bánh xe. Một kỹ thuật nổi tiếng để thực hiện điều này là thiết kế Dpmain-Driven Design, hay DDD.