模型驱动:把数据跟处理分开,用单独的JavaBean封装数据(不管是请求的,还是返回的,可以在一起封装),把处理类完全孤立成一个框架,用这个模型作为灵魂在驱动整个骨架。
特性:血肉分开,使结构更清晰,职能划分更清楚,免得局长管权力又管财务的,弄不好贪污。
核心:模型(model)就是指对象Vo(value object)
对比:属性驱动--你把一大堆属性搞到你的处理类里面,完全可以。方便而快捷,不过结构清晰度当然就不好了。
开发:模型驱动开发(Model-driven development,MDD)是软件开发的一种样式,其中主要的软件工件是模型,根据最佳实践,可以从这些模型生成代码和其他工件。模型是从特定角度 对系统进行的描述,它省略了相关的细节,因此可以更清楚地看到感兴趣的特性。例如,结构工程师会创建适合于确定建筑物承载特性的模型。
说实话,模型驱动的确挺烦人的,开发效率不高,你看着办吧,具体问题具体对待,真的。
例如
Admin.java
1 package com.struts.test; 2 3 public class Admin { 4 public String username; 5 public String password; 6 public String getUsername() { 7 return username; 8 } 9 public void setUsername(String username) { 10 this.username = username; 11 } 12 public String getPassword() { 13 return password; 14 } 15 public void setPassword(String password) { 16 this.password = password; 17 } 18 19 }
LoginAction.java
1 package com.struts.test; 2 3 import com.opensymphony.xwork2.ActionSupport; 4 import com.opensymphony.xwork2.ModelDriven; 5 6 public class LoginAction extends ActionSupport implements ModelDriven<Admin>{ 7 8 Admin model = new Admin(); 9 public Admin getModel() { 10 return model; 11 } 12 13 14 }
上面是模型驱动的相关代码,通过实例化Admin得到model用于封装Admin的两个字段。