MVP是否被认为是*所有* GWT 应用程序的最佳实践?
- 小型内部 Web 应用程序呢?
- 不对此类应用程序或任何应用程序 使用单元测试是错误的吗?
- 对于不会进行单元测试的应用程序,我可能还有其他原因想要使用 MVP 吗?
MVP 以允许多个开发人员同时工作的方式解耦开发
嗯,这是主观的,设计的东西总是权衡取舍。
尽管小型应用程序的范围/大小/未来也值得商榷,但我们通常会为小型应用程序保持简单以降低复杂性或避免用佳能杀死苍蝇
但是,如果您的团队已经对 MVP 感到满意,我强烈建议您选择 MVP,因为随着规模的增加,模式将帮助您避免意大利面条式代码。
我可以看到 MVP 范例的优点,但就我自己而言,我不希望在模型和 GWT 特定视图类之间有额外的表示层。我确保严格地将所有业务规则排除在视图类(UIBinder 的东西)之外,并将其放在模型类中。
同样,我将所有GWT.create(..)
东西都排除在模型之外。这让我可以毫不费力地访问服务器端的模型类。然后,我在我的 RPC 调用的JUnit测试中大量使用 SyncProxy 。
最终,当您编写富 Web 客户端时,您不能过多地依赖视图的自动化测试,尤其是当它由为各种平台(即浏览器)生成的代码呈现时。布丁的证据在于 Internet Explorer、Firefox 和 Chrome 的制作方法。
不使用 MVP 并不一定意味着不可测试。您始终可以使用自动化测试工具通过 UI 测试您的应用程序,但这些工具更难编写且更脆弱。如果您的应用程序很复杂,或者您需要维护它,那么从长远来看,使其可进行单元测试将是值得的。