Một xem xét cho điều này chỉ là cách các thư viện được cho biết thường xuyên được sử dụng lại. Nếu họ có xu hướng được sử dụng trên các dự án hoàn toàn khác nhau, bạn phải cẩn thận không vẽ mình vào một góc, nơi bạn phát hiện ra những thay đổi bạn đã thực hiện ba tuần trước để thư viện hỗ trợ một số ứng dụng mới hóa ra là phá vỡ thay đổi một vài ứng dụng khác.
Về cơ bản những gì tôi đang nói là bạn không muốn phải chống lại sự cám dỗ để thực hiện thay đổi đối với thư viện có nhiều mây; tốt hơn là đừng đặt sự cám dỗ đó trước mặt bạn ngay từ đầu. Nếu thư viện được thiết kế để sử dụng lại, bất kỳ thay đổi quan trọng nào cần được thiết kế và triển khai rất cẩn thận và được kiểm tra kỹ lưỡng đối với tất cả thư viện/ứng dụng phụ thuộc. Nó trở nên khó khăn hơn nhiều để có một cách tiếp cận kỷ luật khi bạn nghĩa đen có nguồn ngay trước mặt bạn, chờ đợi để được sửa đổi.
Cách tiếp cận của tôi là tạo các giải pháp của các thư viện liên quan; ví dụ, tôi có thể có một assembly cho các giao diện cốt lõi và các lớp trừu tượng, một vài assembly khác cho các triển khai cụ thể khác nhau, một assembly khác cho các bài kiểm thử đơn vị, v.v. Nếu có các lớp thư viện tái sử dụng phụ thuộc thì chúng thường sẽ được gộp vào cùng một giải pháp.
Nhưng nó dừng ở cấp ứng dụng. Bất kỳ dự án nào không phải là luôn luôn sẽ được triển khai với các thư viện chính không chia sẻ giải pháp, nó chỉ đơn giản là tham chiếu đến DLL được biên dịch. Nó buộc tôi phải bị kỷ luật về những thay đổi của thư viện và không bắt đầu tinh chỉnh nó để hỗ trợ một số chức năng giao diện người dùng cụ thể.
Tôi không biết đây có phải là phương pháp "đúng" hay không, nhưng tôi đã bị cắn trước khi thực hiện thay đổi sớm đối với thư viện mà không kiểm tra chính xác phụ thuộc và luôn là kết quả của việc tập trung vào một ứng dụng không suy nghĩ về tác dụng phụ. Việc tôi thực hiện điều này là khi bạn làm việc trên thư viện, bạn cần tập trung vào thư viện chính nó chứ không phải cách nó được sử dụng trong một kịch bản cụ thể.
Điểm tốt về các biểu tượng - và bạn chính xác về tốc độ, tôi có một vài dự án mất một lúc để tải và biên dịch. –