他们似乎做同样的事情 - 独立的业务层复杂的表示层逻辑。那么区别是什么呢?业务代表和视图助手之间的区别
回答
都试图以独立组件的复杂性,但:
- 视图助手的目的是使视图更亮(使他们只显示的东西,真的);
- 业务委托打算去耦任何两个组件(离开水暖工作的细节,第三个,将在他们之间)。
我可以看到你的困惑来自哪里,因为它们看上去很像。但是,在实践中,他们针对两个不同的问题:
视图助手
随着系统增长,人们往往开始把代码的查看,说JSP,它开始变得越来越复杂。视图不应该有很多代码。他们应该只显示数据。例如,如果您在JSP中进行繁重的计算,那么一方面代码将隐藏在HTML标记中,另一方面,您无法在系统中的任何位置重新使用代码。想象一下,必须在这样的代码中进行一些维护。你会发疯。
视图助手教你通过使浏览简单通过创建一个Helper
类为它做繁重的工作,使JSP调用,而不是保持所有的复杂的代码内部的方式,你能够避免的JSP。
业务委托
当你有一个组件,说MyCalculator
,调用改变了很多外部组件(比如一个EJB WeatherEJB
),你最终不得不改变你的组件也很多。
例如,认为MyCalculator
是您系统中非常重要的一类,您不会一直想改变它。如果你破坏别的东西呢?如果有人也在另一个分支改变它呢?
此外,您只希望更改MyCalculator
当您的业务变化,而不是每次其他人的变化。
当看到MyCalculator
这样的电话像ten其他组件时,您会看到这个变得更疯狂。你会每天改变它!
业务委托就派上用场了建议:加个班WeatherDelegate
可以执行调用WeatherEJB
,使MyCalculator
使用它,而不是直接调用WeatherEJB
的。
这样,每当WeatherEJB
发生变化时,您都不需要更改MyCalculator
。您只需编辑WeatherDelegate
即可。(另外,如果有一天你想改变你的天气一的方式,比如说,Web服务,再次,你不得不修改是WeatherDelegate
)
到底...
......他们都说:创造一个人为你做一些工作。但查看帮手说,所以你不要做视图上的不必要的工作;和业务代表告诉你去耦合一些组件,这样你的系统职责就更好地分配了。两者都使系统更易于维护。
- 1. 立面和业务代表模式之间的区别
- 2. Eclipse:“任务”视图和“任务列表”视图之间的区别
- 3. php和框架中的库和助手之间的区别
- 4. 协议和代表之间的区别?
- 5. Web服务和企业服务总线之间的区别
- 6. .Net - 会话外观和业务代表之间有什么区别?
- 7. 实用工具类和助手类之间的区别
- 8. 手表端点之间的区别?
- 9. 子视图和容器视图之间的IOS区别
- 10. 方法迭代器和视图之间有什么区别?
- 11. 表索引和视图索引之间的区别是什么?
- 12. Quartz作业和Spring安排任务之间的区别?
- 13. 视图体积/视锥体和视口之间的区别?
- 14. 监视器和锁之间的区别?
- 15. 图层和图案之间的区别
- 16. 应用层和业务逻辑层之间有什么区别?
- 17. $ HOME和'〜'(代字号)之间的区别?
- 18. http_proxy,https_proxy和代理之间的区别?
- 19. Web服务和JMS之间的区别
- 20. JMS和Web服务之间的区别
- 21. 会员与物业之间的区别?
- 22. .NET中的概念帮助和API帮助之间的区别?
- 23. StateChart和活动图之间的区别
- 24. 地图和ImmutableMap之间的区别
- 25. 地图和字典之间的区别
- 26. 图表,图形和图形之间的区别
- 27. 列表和序列之间的区别
- 28. “。”之间的区别和 “$” 表达式
- 29. Bluemix上的业务规则服务和Operational Decision Manager之间有什么区别?
- 30. UIViewController的视图框架和navigationController.view.frame之间的区别?