xml建模摸底、分析过程及代码测试

本文详细介绍了XML建模的过程,包括建模的目的、分析步骤和具体问题的解决,通过案例图进行阐述。接着,文章展示了建模的代码实现,强调了从内到外的建模顺序,并在实践中导入必要的jar包,创建了ForwardModel、ActionModel和ConfigModel等类。同时,文章探讨了23种设计模式中的工厂模式,解释了其解决的问题和提高代码复用性的优点,说明了工厂类的构建方法。
摘要由CSDN通过智能技术生成

一、建模的目的及分析过程

案例图
在这里插入图片描述

1.1建模的分析过程
在这里插入图片描述
1.2xml建模解决的问题,以案例图为例,如下图:
在这里插入图片描述

二、建模的代码及测试

分析完后开始写代码,建模必须要从里到外开始建
首先要做好准备工作,我们先要导入jar包,如下图
在这里插入图片描述
然后再建包建类,首先我们先建一个ForwardModel类,代码如下:

package com.mengyuan.model;

public class ForwardModel {
//	<forward name="failed" path="/login.jsp" redirect="false" />
	private String name;
	private String path;
	private boolean redirect;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPath() {
		return path;
	}
	public void setPath(String path) {
		this.path = path;
	}
	public boolean isRedirect() {
		return redirect;
	}
	public void setRedirect(boolean redirect) {
		this.redirect = redirect;
	}
	
}

然后再是ActionModel类

package com.mengyuan.model;

import java.util.HashMap;
import java.util.Map;

public class ActionModel {
//	<action path="/loginAction" type="test.LoginAction">
	private String path;
	private String type;
	private Map<String,ForwardModel> foMap=new HashMap<>();
	public String getPath() {
		return path;
	}
	public void setPath(String path) {
		this.path = path;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	//两个行为
	/**
	 * jiang指定的forwardModel压入当前actionModel对象中
	 * <forward/>放入<action></action>
	 * @param forwardModel
	 */
	public void push(ForwardModel forwardModel) {
		foMap.put(forwardModel.getName(), forwardModel);
	}
	public ForwardModel pop(String name) {
		return foMap.get(name);
	}

}

最外层再是ConfigModel类

package com.mengyuan.model;

import java.util.HashMap;
import java.util.Map;

public class ConfigModel {
	private Map<String, ActionModel> acMap=new HashMap<String, ActionModel>();
	//两个行为
	/**
	 * 将指定的actionModel压入当前ConfigModel对象中
	 * <action/>放入<config></config>
	 * @param forwardModel
	 */
	public void push(ActionModel actionMoedl) {
		acMap.put(actionMoedl.getPath(), actionMoedl);
	}
	public ActionModel pop(String path) {
		return acMap.get(path);
	}


}

在xml中有Forward,Action,Config这三个标签,这三个标签刚刚已经建模建好了,所以现在我们要把他们集合写到一起,再写一个工厂类把它们封装起来。

23中设计模式之工厂模式

①工厂模式解决的问题,将代码封装起来,提高代码的复用性。类比汉堡的获取方式(有的直接购买,原材料自己制作)。
②一般工厂一定会有一个方法,就是生产指定模型对象的方法build和newInstance。
在这里插入图片描述
在这里插入图片描述
注意:在工厂类会有两个以上的构建方法,一个是默认框架路径的模型对象构造方法,还有一个是动态读取任意位置下的框架配置文件

结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值