对ViewObject的理解

什么是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;

纯个人理解,如有错误,还请指正。谢谢大家!(转载请注明出处)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值