2012-06-25 50 views
5

Tôi đã có giải pháp cho ứng dụng web của mình với gần 12 dự án và 3 trang web. Có một số dự án mà tôi sử dụng cho nhiều trang web như dự án MyProject.BE/MyProject.BLL/MyProject.DAL/MyProject.Controls.Visual Studio Giải pháp lớn

Câu hỏi của tôi là, tốt khi có nhiều dự án cho BE/BLL/DAL/Controls, có tốt hơn không khi tạo 1 dự án với các thư mục cho các lớp BE/BLL/DAL?

+0

Nếu bạn kết hợp chúng thành một, như thế nào thì bạn sẽ phải tham khảo nó trong những người khác, là hiện nay có vẻ tốt đẹp nhưng nó là thực tế vấn đề/vấn đề? – V4Vendetta

+4

* gần 12 dự án * - tức là 11 dự án? –

+2

Nhiều dự án hoàn toàn ổn. Tôi đã làm việc với các giải pháp với ~ 60 dự án. –

Trả lời

6

Câu hỏi "lớn" là câu hỏi tương đối. Trong phát triển phần mềm, chủ yếu là câu hỏi về PC của bạn tốt đến thế nào. Nếu bạn có thể biên dịch và chạy 100 dự án trong 1 giây thì 100 dự án trong một giải pháp là "nhỏ". Vì vậy, nó thực sự là một câu hỏi về những gì làm việc cho bạn.

Giải pháp làm việc hiện tại của tôi có khoảng 130 dự án trong đó. Đúng, chúng tôi có thể phá vỡ nó ra nhưng chúng tôi đã có một số hộp ấn tượng có thể xử lý này để chi phí của việc có 130 dự án là vừa phải đến thấp và lợi thế lớn hơn chi phí.

Có tất cả các dự án trong một giải pháp là đi nếu bạn có thể biên dịch, chạy, & kiểm tra tất cả chúng một cách nhanh chóng. Darn ... mà sau đó bắt đầu cuộc trò chuyện vào những gì là "nhanh" và đó là một câu hỏi phong cách. Nếu bạn biên dịch và chạy thử nghiệm thường xuyên (mỗi phút hoặc nhanh hơn) thì nhanh là giây. Nếu bạn biên dịch và chạy mỗi giờ hoặc lâu hơn thì phút sẽ ổn thôi.

Trả lời: "Làm những gì phù hợp với bạn".

Lưu ý: Xem xét thư mục giải pháp.

+1

Công ty cuối cùng của tôi đã có hơn 350 dự án trong một giải pháp. Hầu hết các dự án là các thư viện lớp được tham chiếu trong một dự án khác. Mặc dù giải pháp có 350 dự án nhưng điều này không có nghĩa là đây là một giải pháp lớn. Đó là một giải pháp lớn do sự phức tạp và số lượng mã mà mỗi dự án đã có. Như Rob Smyth nói rằng tất cả đều tương đối. Chúng tôi thấy rằng việc xây dựng toàn bộ giải pháp là nguy hiểm nên chúng tôi chỉ xây dựng các dự án mà chúng tôi đã có. I E. chúng tôi chỉ xây dựng các dự án mà chúng tôi đã thực hiện thay đổi. – zeencat

+0

+1 để được trợ giúp tìm ra giải pháp "lớn" có thể là gì, cũng +1 cho đề xuất sử dụng thư mục. – Larry

+0

bởi "PC tốt" là bạn chủ yếu nói về RAM (kích thước và tốc độ)? hoặc là tốc độ truy cập HDD quan trọng hơn? – mlhDev

0

Tôi nghĩ rằng thực sự tốt hơn là có nhiều dự án. Ví dụ, nếu bạn cần xây dựng một giao diện người dùng WinForms sẽ sử dụng một số lớp hiện có trong các lớp BE và DAL của bạn, tất cả những gì bạn cần làm là tham khảo các dự án đó từ dự án WinForms.

0

Theo như tôi đã hiểu được câu hỏi của bạn, bạn đang đề cập đến cách tổ chức-giải pháp thay vì cách-làm-tôi-tạo-biên dịch mã nhanh hơn hoặc cách thực hiện-VS- mở-my-code-nhanh hơn, phải không?

Nếu có, tôi sẽ nói, chia nhỏ các lớp học của bạn trong giải pháp thành nhiều dự án có tên làm rõ mục đích của chúng. Bạn đã bắt đầu một cách tiếp cận như vậy với ví dụ "BE/BLL/DAL/Controls" mà bạn đã đưa ra.

Sau khi được chỉ định dự án cung cấp cho bạn rất nhiều tính linh hoạt cho cách kiến ​​trúc giải pháp của bạn. Hãy suy nghĩ về giải pháp của bạn có thể tăng theo thời gian và thời gian giải pháp có thể tồn tại trong tương lai. Hãy suy nghĩ về cách bạn sẽ triển khai nó cho người dùng cuối và - quan trọng hơn - cách bạn sẽ triển khai các bản cập nhật. Tất cả những cân nhắc này sẽ ảnh hưởng đến quyết định của bạn đến mức bạn sẽ đi vào chi tiết.

Phân tích mã của bạn và kiểm tra xem có tiềm năng áp dụng các mẫu thiết kế đã được chứng minh theo thời gian như mẫu Trách nhiệm duy nhất hay không.

Có một công cụ ngắn ngủi ngắn hạn mà chạy một vài lần trong thời gian phát triển và không bao giờ một lần nữa? Sau đó, nó sẽ không có nhiều nỗ lực. Nó là một công cụ hoặc ứng dụng sẽ cần phải được duy trì một vài năm? Sau đó đi và khởi kiện rằng mẫu SRP được thực hiện một cách cẩn thận.

Tôi khuyên bạn nên cuốn sách này bởi Microsoft Press: Building Enterprise Applications with Windows Presentation Foundation and the Model View ViewModel Pattern

này cung cấp cho bạn một số gợi ý, kiến ​​nghị và đề cơ bản của cách xây dựng một cấu trúc dự án tốt.

Một gợi ý về cách một giải pháp có thể được cấu trúc là trong này SO chủ đề: Mvvm Applications And location of Business layer

Các vấn đề liên quan