Java 只使用对象的几个属性有什么缺点?

Java 只使用对象的几个属性有什么缺点?,java,model-view-controller,Java,Model View Controller,我很抱歉,如果标题不清楚,我想不出其他任何东西 所以我使用的是一个简单的MVC架构,我有以下包:controller、bean、dao 我的一个bean类是UserDetailsBean,它包含getter和setter方法,比如20种类型的用户详细信息,比如用户名、密码、地址、电子邮件、性别、dob等 当用户登录时,我为UserDetailsBean创建一个对象,只使用两个属性setUsername()和setPassword(),并将此对象传递给我的dao类UserDetailsDAO,以进

我很抱歉,如果标题不清楚,我想不出其他任何东西

所以我使用的是一个简单的MVC架构,我有以下包:
controller、bean、dao

我的一个bean类是
UserDetailsBean
,它包含getter和setter方法,比如20种类型的用户详细信息,比如用户名、密码、地址、电子邮件、性别、dob等

当用户登录时,我为
UserDetailsBean
创建一个对象,只使用两个属性
setUsername()
setPassword()
,并将此对象传递给我的dao类
UserDetailsDAO
,以进行数据库验证

我的问题是,
UserDetailsBean
有许多getter和setter方法,但我在登录时只使用了其中的两种,这会影响我的性能吗?如果我创建另一个bean类,比如说
UserLoginBean
,它只有用户名和密码的getter和setter,这会比我以前的方法提供更好的性能吗


PS:我所说的性能是指我能得到的任何帮助,使我的应用程序更加有效和快速。

据我所知,如果我没有误解您的问题,
使用较少的getter和setter函数确实会影响性能,因为它们的使用较少会导致数据移动较少,因此代码的性能会受到影响。

Getter和setter方法甚至不是特别面向对象的(OO)。
事实上,它们会损害代码的可维护性

大量getter和setter方法的存在是一个非常重要的问题 这表明程序不一定是从OO设计的 透视图


通过这种关系,你会更好地了解 可维护性与对象之间移动的数据量成反比


为了更好地了解它们将如何影响您的绩效,您也可以参考

据我所知,如果我没有误解您的问题,
使用较少的getter和setter函数确实会影响性能,因为它们的使用较少会导致数据移动较少,因此代码的性能会受到影响。

Getter和setter方法甚至不是特别面向对象的(OO)。
事实上,它们会损害代码的可维护性

大量getter和setter方法的存在是一个非常重要的问题 这表明程序不一定是从OO设计的 透视图


通过这种关系,你会更好地了解 可维护性与对象之间移动的数据量成反比


为了更好地了解它们将如何影响您的绩效,您也可以参考

你所说的“性能”是什么意思?如果你问如果去掉未使用的getter和setter,登录时间是否会更快,那么答案可能是否定的。如果你问JVM是否有更多可用内存,那么答案可能是肯定的。“这会影响我的性能吗?”不,我不这么认为(在很大程度上). “如果我创建另一个bean类,比如UserLoginBean,它只有用户名和密码的getter和setter,这会给我带来更好的性能吗?”我不这么认为。但是,我可能需要做的是同时拥有一个登录和用户界面(用户可以从登录扩展到共享公共属性),通过减少每个级别的公开内容,并将可用信息限制为真正需要的内容,但这更多是一种设计选择;)@TimBiegeleisen所说的“性能”,我指的是为更有效、更快的工作应用程序所能得到的任何帮助。@MadProgrammer如果这只是一种设计选择,而不是性能上的任何可能的提高,那么我想我应该坚持我已经在做的事情。@SaumilSoni只要你对你公开的信息量感到满意,那么无论如何;)你所说的“性能”是什么意思?如果你问如果去掉未使用的getter和setter,登录时间是否会更快,那么答案可能是否定的。如果你问JVM是否有更多可用内存,那么答案可能是肯定的。“这会影响我的性能吗?”不,我不这么认为(在很大程度上). “如果我创建另一个bean类,比如UserLoginBean,它只有用户名和密码的getter和setter,这会给我带来更好的性能吗?”我不这么认为。但是,我可能需要做的是同时拥有一个登录和用户界面(用户可以从登录扩展到共享公共属性),通过减少每个级别的公开内容,并将可用信息限制为真正需要的内容,但这更多是一种设计选择;)@TimBiegeleisen所说的“性能”,我指的是为更有效、更快的工作应用程序所能得到的任何帮助。@MadProgrammer如果这只是一种设计选择,而不是性能上的任何可能的提高,那么我想我应该坚持我已经在做的事情。@SaumilSoni只要你对你公开的信息量感到满意,那么无论如何;)