发现一个很有趣的设计模式~很好玩~
本来我是想完成一个占位符(placeholder)字符串处理功能实现!之前我发过帖子求助,后来发现真笨,用String的replace方法就可以实现的。
帖子在此:
http://topic.csdn.net/u/20111227/20/f4e4f380-069e-4d34-be66-175f82a5c1f9.html
首先,我设计了一个类—信息包裹(MessageBundle),但由于信息包裹内的信息大部分都是带有占位符的字符串!
程序响应给外部系统时,就必需把这些占位符替换成程序运行时的值。
例如:
要查找与含词“FindMe”的相匹配用户
信息包裹内的字符串:
没有发现与[${username}]相匹配的用户!
那么程序运行时给外部系统的信息提示可能为
“没有发现与[FindMe]相匹配的用户!”
一开始我就设想,新建个类SentenceForm及为其创建方法
void replaceVariableWith(String theVaribaleName,String theVariableValue)
sentenceForm.replaceVariableWith("username","FindMe");
package com.dongantech.eshop.web.util;public class SentenceForm { private String sentenceForm = null ; private String replacedVariableName = "" ; public void setSentenceForm(String theSentenceForm){ sentenceForm = theSentenceForm; } public String getSentenceForm(){ return sentenceForm; } public SentenceForm replaceVariable(String theVariableName){ replacedVariableName = theVariableName ; return this ; } public SentenceForm with(String theValue){ String replacedVariable = "${"+replacedVariableName+"}"; sentenceForm.replace(replacedVariable,theValue) ; return this ; }}