由于页面是通过get方法获取后台数据的值,因此需要在get方法中添加业务方法以初始化数据值,形如
public X getX()
{
if(null == X){
doingBusiness();
}
}
doingBusiness方法执行中可能会需要其他的一些参数,执行完毕得到X。注意:getX()中业务只在初始化的时候执行,当页面需要更新X的值时,必须调用其它方法,形如:
//some ajax request
public void updateX(){
doingBusiness();
}
执行完毕之后重新渲染(render)绑定X的组件即可获取新的X对象。为了业务之间尽可能的解耦,所以需要将business方法进行良好的封装以达到复用的目的。否则整个页面将会非常混乱难以维护,尤其是页面元素复杂的情况下。
某些时候,在业务流程中我们需要保存上一步业务方法执行的结果,以便进行下一步的业务操作,然而当用户取消此次操作或者当用户完成此次操作进行下一个同样业务流程的时候,我们需要对上一步业务执行的结果进行清空。一般而言,在业务流程开始的时候我们需要一些初始化数据,这个获取初始化数据的过程可以称之为业务入口。每个入口之间都应该是相互独立的,在业务流程入口应该调用初始化方法,清空上一次业务操作留下的垃圾数据。例如用户user 有一个邮箱,user提供id从数据库获取了邮箱对象。假设接下来的过程中user 从收件箱删除了一条邮件到垃圾箱,又从垃圾箱中恢复了一个邮件到收件箱。这个过程我们需要保持user的邮箱状态,否则当user执行了一个操作之后,再次访问邮箱将为初始化状态,即NULL。但是,当另一个用户登录时,应该清空之前邮箱的状态,否则会造成a 访问 b 的邮箱这种混乱现象。