spi*_*e07 5 java static-methods utility instances
我有一个类似这样的Java类
public class MyObjectUtil {
private final MyObject myObject;
public MyObjectUtil (MyObject myObject){
this.myObject = myObject;
}
public boolean isSomeInfoPresentValid() {
return myObject.isSomething();
}
public void modifyMyObjectInSomeWay(String blah) {
myObject.modify(blah);
}
}
Run Code Online (Sandbox Code Playgroud)
每次我都要实例化我的Utility类来与MyObject的特定实例进行交互.
myObject作为Session obj出现
MyObjectUtil myObjUtil = new MyObjectUtil(myObject);
myObjUtil.modifyMyObjectInSomeWay("blah");
boolean valid = myObjUtil.isSomeInfoPresentValid();
Run Code Online (Sandbox Code Playgroud)
为了获得相同的结果,我可以使用静态函数,每次使用myObject作为方法参数执行相同的操作.
public class MyObjectUtil {
public static boolean isSomeInfoPresentValid(MyObject myObject) {
return myObject.isSomething();
}
public static void modifyMyObjectInSomeWay(MyObject myObject, String blah) {
myObject.modify(blah);
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道应该走哪条路.
我在我的控制器中使用Util类,有时我需要针对同一个myObject实例调用几个方法,所以对我来说第一个解决方案似乎更正确.同时,由于myObject与特定的http请求相关,因此我对控制器的请求很多,因此每次都可以创建大量的MyObjectUtil实例.
在我的情况下,我应该选择哪种方式?在其他情况下我应该如何选择?
某些Utilities类(如MyObjectXXXUtil MyObjectYYYUtil)以特定方式使用MyObject.我想从特定的MyObject实现中保留这些Util方法(修改myObject并检查特定状态),因为它们并不特定于此.许多Util函数可以以某种方式与MyObject交互.
| 归档时间: |
|
| 查看次数: |
2427 次 |
| 最近记录: |