Hy vọng một câu hỏi tương đối đơn giản. Tôi đang bắt đầu làm việc với một dự án nội bộ mới để tạo ra khả năng dễ điều khiển của các thiết bị được sửa chữa trong các tòa nhà.
Cơ sở dữ liệu được lưu trữ từ xa trên máy chủ web và sẽ được truy cập thông qua API web (đầu ra JSON) và được bảo vệ bằng OAuth. GUI giao diện người dùng đang được thực hiện trong WPF và mã doanh nghiệp trong C #.
Từ đây, tôi thấy các lớp khác nhau Trình bày / Ứng dụng / Kho dữ liệu. Sẽ có mã để quản lý tất cả các lệnh gọi được xác thực tới API, lớp để thể hiện các thực thể (đối tượng kinh doanh), các lớp để xây dựng các thực thể (đối tượng kinh doanh), các bộ phận cho GUI WPF, các bộ phận của chế độ xem WPF, v.v.
Là tốt nhất để tạo điều này trong một dự án duy nhất, hoặc chia chúng thành các dự án riêng lẻ?
Trong thâm tâm tôi nói nó nên là nhiều dự án. Tôi đã thực hiện cả hai cách trước đây và thấy việc thử nghiệm trở nên dễ dàng hơn với một giải pháp dự án duy nhất, tuy nhiên với nhiều dự án thì phụ thuộc đệ quy có thể tăng lên. Đặc biệt là khi các lớp có giao diện để kiểm tra dễ dàng hơn, tôi đã thấy mọi thứ có thể trở nên khó xử.