2012-04-30 35 views
5

Có phải MVP được coi là phương pháp hay nhất cho * tất cả * ứng dụng GWT không?MVP có đáng giá không?

  • Còn ứng dụng web trong nhà nhỏ thì sao?
  • Có sai lầm khi không sử dụng unit testing cho ứng dụng như vậy hoặc bất kỳ ứng dụng nào không?
  • Đối với một ứng dụng sẽ không được kiểm tra đơn vị, có những lý do nào khác mà tôi có thể muốn sử dụng MVP không?

Trả lời

7
  1. Nói chung, MVP được coi là Phương pháp hay nhất để phát triển các ứng dụng GWT. Một số lý do để áp dụng mẫu có thể được tìm thấy trong this Google I/O Presentation.
  2. MVP có giá và nó sẽ giới thiệu một số lớp và sự phức tạp hơn cho ứng dụng của bạn. Nhưng nó cũng sẽ giảm thiểu khớp nối và nó sẽ làm cho ứng dụng của bạn dễ kiểm thử hơn; do đó, nó là vào bạn như là một nhà thiết kế để quyết định nếu mô hình là giá trị đau.
  3. Một số phương pháp - like Extreme Programming - khuyến khích đưa các thử nghiệm tự động vào quy trình phát triển phần mềm. Một lần nữa, việc bao gồm các bài kiểm tra sẽ yêu cầu nhóm của bạn viết thêm mã, nhưng đổi lại mã của bạn sẽ mạnh mẽ và đáng tin cậy. Tôi đề nghị bạn nên bao gồm các bài kiểm tra đơn vị, ngay cả khi ứng dụng nhỏ.
  4. Như tôi đã nói trước đây, kiểm tra dễ dàng là một lợi ích của MVP nhưng nó không phải là lợi ích duy nhất. Theo này article from Google:

MVP tách riêng phát triển theo một cách mà cho phép nhiều nhà phát triển công việc đồng thời

1

Không sử dụng MVP không nhất thiết có nghĩa là không thể kiểm chứng. Bạn luôn có thể kiểm tra ứng dụng của mình thông qua giao diện người dùng bằng các công cụ kiểm tra tự động, nhưng những công cụ này khó viết hơn và dễ vỡ hơn. Nếu ứng dụng của bạn phức tạp, hoặc bạn cần phải duy trì nó, làm cho nó đơn vị có thể kiểm tra sẽ trả về lâu dài.

2

Vâng đó là chủ quan, công cụ thiết kế luôn là sự cân bằng.

Mặc dù phạm vi/size/tương lai của các ứng dụng nhỏ cũng gây tranh cãi, chúng ta thường giữ cho mọi thứ đơn giản cho các ứng dụng nhỏ để giảm độ phức tạp hoặc tránh giết chết bay với một canon

Tuy nhiên, nếu đội của bạn đã thoải mái với MVP , Tôi sẽ khuyên bạn nên đi cho MVP vì vì kích thước của nó sẽ tăng lên, mô hình sẽ giúp bạn tránh được mã spaghetti.

+0

Vấn đề là nhóm của tôi mới sử dụng cả GWT và MVP. Nó rất dễ dàng để viết một trang web GWT nhưng không phải trong khi sử dụng MVP. cho một dự án mà chỉ có 2 người trong hai tháng tôi cảm thấy học MVP sẽ mất một phần lớn của ngân sách ... – kroiz

+0

Vâng tôi đồng ý với điều đó ... học cách làm kiểu mẫu ban đầu tốn thời gian ... – Adil

1

tôi có thể nhìn thấy bằng khen trong mô hình MVP, nhưng đối với bản thân tôi không muốn có một lớp trình bày bổ sung giữa mô hình và các lớp xem cụ thể GWT. Tôi đảm bảo lưu giữ nghiêm ngặt tất cả các quy tắc kinh doanh trong các lớp xem (công cụ UIBinder) và đặt nó trong các lớp mô hình thay thế.

Tương tự, tôi giữ tất cả các công cụ GWT.create(..) ra khỏi mô hình. Điều này cho phép tôi truy cập vào các lớp mô hình ở phía máy chủ mà không gặp rắc rối. Sau đó tôi sử dụng SyncProxy rất nhiều trong các thử nghiệm JUnit của mình cho các cuộc gọi RPC. Cuối cùng, khi bạn đang viết một ứng dụng web phong phú, bạn không thể dựa quá nhiều vào kiểm tra tự động của chế độ xem, đặc biệt là khi nó được hiển thị bằng mã được tạo cho nhiều nền tảng khác nhau (tức là trình duyệt).Bằng chứng về bánh pudding là trong những gì Internet   Explorer, Firefox và Chrome tạo ra nó.