java - 是否有特定原因使 View bean 不可变?

标签 java model-view-controller jsp javabeans

一位同事最近建议我们应该使从应用程序的服务层传递到 View 的模型对象/bean 不可变。

这样做有什么具体原因吗?有什么好处或缺点吗?这个想法从何而来?

最佳答案

这是否是一个好主意取决于唯一的目的。如果它是纯 View bean(因此不是真正的模型 bean),那么使它们不可变可能确实有意义。这相对简单:只需移除 setter 即可。这可以防止 View 更改 bean,例如 <c:set><jsp:setProperty> .

但总而言之,我认为这没有必要夸大,除非您想将 View bean 作为第 3 方 API 提供并以这种方式防止误解/误用。或者,如果您确实需要 setter ,那么它们可能根本不应该变得不可变。

关于java - 是否有特定原因使 View bean 不可变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5901474/

相关文章:

model-view-controller - 在 "classical"web MVC 中, View 是如何创建的?

java - 如何使用struts2统计从数据库中找到的记录数并显示在jsp页面中?

java jsp显示数据库中的数据

java - 什么是 "driver class"?

Java:来自外部 jar 的类在线程中实例化时出现 ClassNotFoundException

java - 使用 HikariDataSource 作为数据源对象时,如何在应用程序启动时加载存储过程?

java - 更正了在 Java 中使用 Scanner 时的运行时错误

php - 一般规则 - 何时使用模型 (Codeigniter)

asp.net - 尝试使用 Paypal API 时出现错误 500.19

Java JCIFS如何正确地将文件从Samba复制到Windows本地?