什么是ViewObject?
首先从字面意思上了解一下:
View:视图 Object:对象
ViewObject:视图对象
那么什么是视图对象呢?我们可以理解为模块(或者是组件),即一个视图对象就是一个模块(组件)。用下面一张网页里的布局举个栗子。
在上图中,每一行有一个TITLE对象,一个USER对象;我们将每一行看成一个模块(组件),定义为一个ViewObject。所以也可以说,一个ViewObject就是将若干个对象组合在一起构成一个ViewObjct对象。
接下来我们看一下ViewObject类的具体实现
public class ViewObject {
private Map<String, Object> objs = new HashMap<String, Object>();
public void set(String key, Object value) {
objs.put(key, value);
}
public Object get(String key) {
return objs.get(key);
}
}
很显然,ViewObject是用HashMap来保存模块里的每个对象的,并通过set方法在一个模块中加入新对象,它是通过调用map的put方法实现的;通过get方法获取模块中某一个对象,是通过map的get方法实现的。
例如,还是上边的栗子:
List<ViewObject> vos = new ArrayList<>();
for (News news : newsList) {
ViewObject vo = new ViewObject();
vo.set("news", news);
vo.set("user", userService.getUser(news.getUserId()));
vos.add(vo);
}
return vos;
纯个人理解,如有错误,还请指正。谢谢大家!(转载请注明出处)