2011-02-02 16 views
13

Nếu tôi không chia ứng dụng của mình thành các mô-đun khác nhau (nếu không tôi sẽ cho rằng Prism sẽ hoàn tác là cách để đi), tôi có nên sử dụng Prism không?WPF: Có phải Prism overkill cho các ứng dụng nhỏ không?

Tôi biết rằng Prism cho phép thực hiện thuận tiện ICommand (mà tôi có thể tự làm trong trang mã) và cung cấp cho chúng tôi IEventAggregator nhưng tất cả các công cụ Bootstrapper, Shell, ModuleCatalog có thực sự hữu ích không?

Tại sao không chỉ sử dụng mẫu MVVM (không có lăng kính) để tách riêng mối quan tâm của bạn để ứng dụng của bạn có thể kiểm tra và Bob của bạn!

Trả lời

13

Đối với một ứng dụng nhỏ, bạn chắc chắn có thể xem nó là quá mức cần thiết, nhưng ngay cả đối với một ứng dụng nhỏ, bạn đã xác định một số khía cạnh hữu ích, ví dụ: DelegatedCommandIEventAggregator (mà BTW đi kèm với xử lý sự kiện yếu nên không hoàn toàn tầm thường để thực hiện chính xác).

Có lẽ một khung trọng lượng nhẹ hơn có thể phù hợp hơn. Tôi chỉ biết Prism, nên không thể bình luận được.

Một điểm tôi sẽ làm, mặc dù, nó là rất phổ biến cho các ứng dụng nhỏ để bắt đầu nhỏ, nhưng sau đó phát triển thành các ứng dụng lớn hơn. Đặt số lượng tương đối nhỏ của nỗ lực vào kiến ​​trúc sư nó ngay từ đầu là tốt hơn là trả tiền cho công việc hoành tráng (và đôi khi không thể) để phân loại nó sau này.

+1

+1 - đang viết gần như giống nhau. Một ứng dụng nhỏ không liên quan đến hệ thống tệp, cơ sở dữ liệu, giao tiếp với bất kỳ thực thể bên ngoài nào hoặc có bất kỳ cửa sổ phụ, trang hoặc chức năng chính nào là "nguyên mẫu" tốt nhất và không được hưởng lợi từ nhiều thứ . Một khi bạn bắt đầu đưa những thứ khác vào, Prism trở nên rất hữu ích rất nhanh chóng. –

2

Đối với các ứng dụng nhỏ hơn, caliburn micro cung cấp một khung đơn giản hơn. Với tôi lăng kính đặc biệt hữu ích khi bạn cần xác định các vùng trong ứng dụng của bạn.

+0

Bạn cũng có thể kết hợp cả hai. –

2

MVVM Light là đặt cược tốt nhất ....!

+2

Bạn nên giải thích tại sao MVVM Light lại tốt hơn Prism. –

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