Tôi được yêu cầu tạo bố cục dự án cho ứng dụng sắp tới của chúng tôi bằng Maven. Vật phẩm đầu tiên chúng ta sẽ làm việc trên sẽ là kiến trúc. Để làm cho nó dễ dàng nhất có thể cho các nhà phát triển để làm việc tôi đã có ý tưởng để tách thực hiện thực tế từ các API (như bạn sẽ làm trong một môi trường OSGi).Có thể (được khuyến nghị) để có một dự án api thuần túy được tách biệt khỏi việc triển khai thực tế không?
Các phụ thuộc sẽ liệt kê dự án API là phụ thuộc cho phạm vi biên dịch và việc triển khai chỉ được cung cấp khi chạy.
Với cách tiếp cận này, tôi hy vọng sẽ giảm sự phức tạp cho các nhà phát triển và cũng hạn chế họ sử dụng các lớp nội bộ thường xuyên thay đổi. Hơn nữa, có thể ẩn phụ thuộc transitive (ví dụ: Tôi không muốn các nhà phát triển gọi lớp DAO từ giao diện người dùng ... điều này chỉ nên hiển thị từ lớp dịch vụ).
Có ai đó đưa điều này vào thực tế và nó đã hoạt động như thế nào? Bạn nghĩ gì về nó nói chung?