日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

自创设计模式-----答题卡模式

發(fā)布時(shí)間:2023/11/27 生活经验 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自创设计模式-----答题卡模式 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

該模式是解決觸發(fā)條件和觸發(fā)結(jié)果的解耦,同時(shí)兼顧觸發(fā)條件資源的可釋放性。目的是為了獲得觸發(fā)結(jié)果。

/*** */
package com.baidu.coolapp.answer;import java.util.Hashtable;import com.baidu.coolapp.composite.IComposite;/*** @author liweigao**/
public interface IJury extends IComposite> {void check();Hashtable> getResults();Hashtable> getQuestions();
}

/*** */
package com.baidu.coolapp.answer;/*** @author liweigao**/
public interface IResult{void setResult(T result);T getResult();void setTag(String tag);String getTag();
}

/*** */
package com.baidu.coolapp.answer;/*** @author liweigao**/
public interface IQuestion{T answer();IResultcreateResult(Object... args);String getTag();
}

/*** */
package com.baidu.coolapp.answer;/*** @author liweigao 2014年11月20日* @param */
public abstract class AResultimplements IResult{private T mResult;private String mTag;/** (non-Javadoc)* * @see common.share.lwg.trueorfalse.IResult#setTag(java.lang.String)*/@Overridepublic void setTag(String tag) {this.mTag = tag;}/** (non-Javadoc)* * @see common.share.lwg.trueorfalse.IResult#getTag()*/@Overridepublic String getTag() {// TODO Auto-generated method stubreturn this.mTag;}/** (non-Javadoc)* * @see common.share.lwg.answer.IResult#setResult(java.lang.Object)*/@Overridepublic void setResult(T result) {this.mResult = result;}/** (non-Javadoc)* * @see common.share.lwg.answer.IResult#getResult()*/@Overridepublic T getResult() {return this.mResult;}}

/*** */
package com.baidu.coolapp.answer;/*** @author liweigao**/
public abstract class AQuestionimplements IQuestion{private String mTag;public AQuestion(String tag) {this.mTag = tag;}/* (non-Javadoc)* @see common.share.lwg.trueorfalse.IQuestion#getTag()*/@Overridepublic String getTag() {// TODO Auto-generated method stubreturn this.mTag;}}

/*** */
package com.baidu.coolapp.answer;import java.util.Enumeration;
import java.util.Hashtable;/*** @author liweigao* */
public abstract class AJury implements IJury {private Hashtable> mQuestions = new Hashtable>();private Hashtable> mResults = new Hashtable>();/** (non-Javadoc)* * @see common.share.lwg.composite.IComposite#add(java.lang.Object)*/@Overridepublic void add(IQuestionobject) {String addTag = object.getTag();this.mQuestions.put(addTag, object);IResultresult = object.createResult();result.setTag(addTag);this.mResults.put(addTag, result);}/** (non-Javadoc)* * @see common.share.lwg.composite.IComposite#remove(java.lang.Object)*/@Overridepublic void remove(IQuestionobject) {String tag = object.getTag();this.mQuestions.remove(tag);this.mResults.remove(tag);}/** (non-Javadoc)* * @see common.share.lwg.trueorfalse.Ireferee#check()*/@SuppressWarnings({ "rawtypes", "unchecked" })@Overridepublic void check() {Enumeration> enus = mQuestions.elements(); while (enus.hasMoreElements()) { IQuestionquestion = enus.nextElement(); String tag = question.getTag(); IResult result = mResults.get(tag); result.setResult(question.answer()); } } /* * (non-Javadoc) * * @see common.share.lwg.answer.IJury#getResults() */ @Override public Hashtable> getResults() { return this.mResults; } /* * (non-Javadoc) * * @see common.share.lwg.answer.IJury#getQuestions() */ @Override public Hashtable> getQuestions() { return this.mQuestions; } } 

/*** */
package com.baidu.coolapp.config.answer.sweetbox;import com.baidu.coolapp.config.mediator.IConfigColleague;/*** @author liweigao* 2014年11月21日*/
public class ResultBean {private IConfigColleague mSweetFile;private IConfigColleague mBoxFile;private boolean mNeedMerge = false;private boolean mNeedUpload = true;private boolean mNeedLoadConfig = false;/*** @return the sweetFile*/public IConfigColleague getSweetFile() {return mSweetFile;}/*** @param sweetFile the sweetFile to set*/public void setSweetFile(IConfigColleague sweetFile) {this.mSweetFile = sweetFile;}/*** @return the boxFile*/public IConfigColleague getBoxFile() {return mBoxFile;}/*** @param boxFile the boxFile to set*/public void setBoxFile(IConfigColleague boxFile) {this.mBoxFile = boxFile;}/*** @return the needMerge*/public boolean isNeedMerge() {return mNeedMerge;}/*** @param needMerge the needMerge to set*/public void setNeedMerge(boolean needMerge) {this.mNeedMerge = needMerge;}/*** @return the needUpload*/public boolean isNeedUpload() {return mNeedUpload;}/*** @param needUpload the needUpload to set*/public void setNeedUpload(boolean needUpload) {this.mNeedUpload = needUpload;}/*** @return the needLoadConfig*/public boolean isNeedLoadConfig() {return mNeedLoadConfig;}/*** @param needLoadConfig the needLoadConfig to set*/public void setNeedLoadConfig(boolean needLoadConfig) {this.mNeedLoadConfig = needLoadConfig;}}

/*** */
package com.baidu.coolapp.config.answer.sweetbox;import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.Map;import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.entity.StringEntity;
import org.json.JSONException;
import org.json.JSONObject;import android.content.Context;import com.baidu.java.HashMap;
import com.loopj.android.http.JsonHttpResponseHandler;
import com.loopj.android.http.RequestParams;
import com.loopj.android.http.SyncHttpClient;
import com.baidu.coolapp.answer.AJury;
import com.baidu.coolapp.answer.IResult;
import com.baidu.coolapp.config.mediator.ConfigMediator;
import com.baidu.coolapp.config.mediator.IConfigColleague;
import com.baidu.coolapp.config.merge.ConfigMergeProxy;
import com.baidu.coolapp.config.merge.IMergeProxy;
import com.baidu.coolapp.enumtype.FileEnum;
import com.baidu.coolapp.enumtype.Id;
import com.baidu.coolapp.enumtype.Key;
import com.baidu.coolapp.enumtype.Tag;
import com.baidu.coolapp.tools.JsonTool;
import com.baidu.coolapp.tools.PropertyTool;
import com.baidu.coolapp.tools.ResourceTool;
import com.baidu.coolapp.tools.UserTool;/*** @author liweigao 2014年11月21日*/
public class SweetBoxJury extends AJury {private ConfigMediator mConfigMediator;public SweetBoxJury(ConfigMediator mediator) {this.mConfigMediator = mediator;}public void checkTwoFile(IConfigColleague left, IConfigColleague right,Context context) {this.add(new SweetBoxQuestion(Tag.SWEET_BOX_QUESTION.getName(), left,right));this.check();ResultBean resultBean = getSweetBoxResultBean();if (resultBean.isNeedMerge()) {IConfigColleague sweet = resultBean.getSweetFile();IConfigColleague box = resultBean.getBoxFile();if (Id.SERVER_CONFIG.getId().equals(sweet.getId())|| Id.SERVER_CONFIG.getId().equals(box.getId())) {downLoadServerFile(context);} else {}mergeFile(sweet, box, context);if (Id.SERVER_CONFIG.getId().equals(box.getId())) {mConfigMediator.replaceFile(sweet, box);} else {}if (Id.BACK_CONFIG.getId().equals(box.getId())) {mConfigMediator.replaceFile(sweet, box);} else {}} else {IConfigColleague boxFile = resultBean.getBoxFile();if (Id.SERVER_CONFIG.getId().equals(boxFile.getId())) {downLoadServerFile(context);mConfigMediator.replaceFile(resultBean.getSweetFile(),resultBean.getBoxFile());} else {}}}private void mergeFile(IConfigColleague sweet, IConfigColleague box,Context context) {}private void downLoadServerFile(final Context context) {}@SuppressWarnings("unchecked")public IResultgetSweetBoxResult() {IResultresult = this.getResults().get(Tag.SWEET_BOX_QUESTION.getName());return (IResult) result;}public ResultBean getSweetBoxResultBean() {return getSweetBoxResult().getResult();}}

/*** */
package com.baidu.coolapp.config.answer.sweetbox;import com.baidu.coolapp.answer.AQuestion;
import com.baidu.coolapp.answer.IResult;
import com.baidu.coolapp.config.mediator.IConfigColleague;
import com.baidu.coolapp.enumtype.Id;/*** @author liweigao* 2014年11月21日*/
public class SweetBoxQuestion extends AQuestion{private IConfigColleague mLeft;private IConfigColleague mRight;/*** @param tag*/public SweetBoxQuestion(String tag,IConfigColleague left,IConfigColleague right) {super(tag);this.mLeft = left;this.mRight = right;}/* (non-Javadoc)* @see common.share.lwg.answer.IQuestion#answer()*/@Overridepublic ResultBean answer() {ResultBean resultBean = new ResultBean();int leftVersion = mLeft.getVersion();int rightVersion = mRight.getVersion();long leftTime = mLeft.getTime();long rightTime = mRight.getTime();if(leftVersion > rightVersion) {resultBean.setBoxFile(mLeft);resultBean.setSweetFile(mRight);if(leftTime > rightTime) {resultBean.setNeedMerge(false);} else if(leftTime < rightTime) {resultBean.setNeedMerge(true);} else {resultBean.setNeedMerge(false);}} else if(leftVersion < rightVersion) {resultBean.setBoxFile(mRight);resultBean.setSweetFile(mLeft);if(leftTime > rightTime) {resultBean.setNeedMerge(true);} else if(leftTime < rightTime) {resultBean.setNeedMerge(false);} else {resultBean.setNeedMerge(false);}} else {if(leftTime > rightTime) {resultBean.setBoxFile(mLeft);resultBean.setSweetFile(mRight);resultBean.setNeedMerge(false);} else if(leftTime < rightTime) {resultBean.setBoxFile(mRight);resultBean.setSweetFile(mLeft);resultBean.setNeedMerge(false);} else {resultBean.setNeedMerge(false);resultBean.setNeedUpload(false);String leftId = mLeft.getId();if(leftId.equals(Id.SDCARD_CONFIG.getId())) {resultBean.setBoxFile(mLeft);resultBean.setSweetFile(mRight);} else {resultBean.setBoxFile(mRight);resultBean.setSweetFile(mLeft);}}}return resultBean;}/* (non-Javadoc)* @see common.share.lwg.answer.IQuestion#createResult(java.lang.Object[])*/@Overridepublic IResultcreateResult(Object... args) {return new SweetBoxResult();}}

/*** */
package com.baidu.coolapp.config.answer.sweetbox;import com.baidu.coolapp.answer.AResult;/*** @author liweigao* 2014年11月21日*/
public class SweetBoxResult extends AResult{}







總結(jié)

以上是生活随笔為你收集整理的自创设计模式-----答题卡模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。