当前位置: 首页 > news >正文

php网站做退出的代码博客app下载安装

php网站做退出的代码,博客app下载安装,哪个网站有律师做的案件,临安建设工程规划公示网站什么是模板方法设计模式? 模板方法设计模式是一种行为型设计模式#xff0c;它定义了一个算法的骨架#xff0c;并将一些步骤的具体实现延迟到子类中。模板方法模式可以帮助确保在算法的不同部分中保持一致性#xff0c;同时也允许子类根据需要进行具体实现。 模板方法模式… 什么是模板方法设计模式? 模板方法设计模式是一种行为型设计模式它定义了一个算法的骨架并将一些步骤的具体实现延迟到子类中。模板方法模式可以帮助确保在算法的不同部分中保持一致性同时也允许子类根据需要进行具体实现。 模板方法模式的关键特点包括 抽象类 定义一个抽象类其中包含一个模板方法该方法定义了算法的骨架。这个抽象类可以包含一些通用的实现或共享的代码。具体步骤 在抽象类中将算法的不同步骤定义为抽象方法。这些步骤需要由具体的子类来实现。模板方法 这是算法的核心方法它包含了算法的基本步骤可能包括调用不同的具体步骤方法。这个方法通常是 final以防止子类修改整体算法结构。钩子方法钩子方法是一种在抽象类中定义的方法子类可以选择是否覆盖它。这些方法通常是空方法可以在模板方法的执行过程中被调用以便影响算法的某些特定步骤。 模板方法设计模式的优点包括 提供了一种统一的算法结构使得算法在不同的子类中保持一致。提供了代码复用和共享的机制避免了重复的代码。允许子类根据需要覆盖特定步骤的实现实现了开闭原则。 一个典型的模板方法设计模式的例子是 Java 中的 AbstractList 类它定义了访问和修改列表的算法框架然后由具体的子类如 ArrayList、LinkedList 等实现不同的细节。 总之模板方法设计模式允许您定义一个算法的骨架然后将一些具体的步骤延迟到子类中实现。这种方式提高了代码的复用性和可维护性同时也确保了算法的一致性。 模板抽象类 import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.InitializingBean;import java.io.IOException; import java.io.InputStream; import java.util.List;/*** author Wang*/ Slf4j public abstract class AbstractSynFileHandlerT implements InitializingBean {/*** parseFile* param inputStream inputStream* return T ListT* throws IOException IOException*/public abstract ListT parseFile(InputStream inputStream) throws IOException;/*** getHandlerName* return String*/public abstract String getFileName();Overridepublic void afterPropertiesSet(){SynFileFactory.registerHandler(getFileName(), this);}}在这个代码片段中AbstractSynFileHandler 是一个抽象类定义了一个模板方法模式的结构。模板方法模式的关键是抽象类中的模板方法该方法定义了一个算法的基本步骤但是某些步骤的具体实现留给了子类来完成。 在这个代码中parseFile 和 getFileName方法是需要子类实现的具体步骤。这些步骤的具体实现因应用而异所以它们被定义为抽象方法。然后在 afterPropertiesSet方法中SynFileFactory.registerHandler 方法被调用该方法将当前实例注册到 SynFileFactory中实现了模板方法模式中的模板方法调用和延迟到子类的具体实现。 子类实现 import cn.hutool.core.text.CharSequenceUtil; import com.woodare.cdw.core.Cons; import com.woodare.cdw.core.SiebelCons; import com.woodare.cdw.jpa.entity.AccountEntity; import com.woodare.cdw.siebel.AbstractSynFileHandler; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List;/*** author Wang*/ RequiredArgsConstructor Slf4j Component public class AccountHandler extends AbstractSynFileHandlerAccountEntity {Overridepublic ListAccountEntity parseFile(InputStream inputStream) throws IOException {BufferedReader reader new BufferedReader(new InputStreamReader(inputStream));ListAccountEntity list new ArrayList();String line;int lineNum 0;while ((line reader.readLine()) ! null) {if (lineNum 0) {lineNum;continue;}String[] values line.split(Cons.Delimiter.WAVY);AccountEntity accountEntity new AccountEntity();this.buildEntity(values, accountEntity);list.add(accountEntity);lineNum;}return list;}private void buildEntity(String[] values, AccountEntity accountEntity) {if(CharSequenceUtil.isNotBlank(values[0])){accountEntity.setSiebelId(values[0]);}if(CharSequenceUtil.isNotBlank(values[1])){accountEntity.setFirstName(values[1]);}if(CharSequenceUtil.isNotBlank(values[2])){accountEntity.setLastName(values[2]);}if(CharSequenceUtil.isNotBlank(values[3])){accountEntity.setMiddleInitial(values[3]);}if(CharSequenceUtil.isNotBlank(values[4])){accountEntity.setEmail(values[4]);}if(CharSequenceUtil.isNotBlank(values[5])){accountEntity.setCellPhone(values[5]);}if(CharSequenceUtil.isNotBlank(values[6])){accountEntity.setAddress1(values[6]);}if(CharSequenceUtil.isNotBlank(values[7])){accountEntity.setAddress2(values[7]);}if(CharSequenceUtil.isNotBlank(values[8])){accountEntity.setCity(values[8]);}if(CharSequenceUtil.isNotBlank(values[9])){accountEntity.setState(values[9]);}if(CharSequenceUtil.isNotBlank(values[10])){accountEntity.setZip(values[10]);}}Overridepublic String getFileName() {return SiebelCons.ACCOUNT;} }
http://www.hkea.cn/news/14300739/

相关文章:

  • 西安做网站魔盒手机上怎么创建自己的网站
  • 阿里网站搭建wordpress 首页跳转
  • 企业网站维护合同网站更新步骤
  • 福州房地产网站建设如何建设彩票网站
  • c 做商务网站方便吗贵州城乡建设厅考试网站
  • 织梦cms建设企业网站学设计的视频网站
  • 济南市建设工程招标投标协会网站最近的新闻大事20条
  • 外贸网站建设 东莞灰色风格的网站
  • 学校网站建设状况宁波北仑网站网页建设
  • 企业网站建立流程的第一步是什么企业网站开发周期
  • 深圳市罗湖网站建设如何做一个网站的功能吗
  • 淘宝客怎么做直播网站吗亚马逊网站建设与维护方法分析
  • 建设行网站修改电话网站排名优化推广厦门
  • 南昌网站维护网页设计与制作课程内容
  • wordpress 默认主题站点北京企业网站建设推荐
  • 惠州市网站制作有限公司松岗做网站
  • 孝感网站推广广东企业网站seo报价
  • 义乌公司网站建设磐安住房和城乡建设部网站
  • title 网站建设网站建设需要哪些技术
  • 重生北京上大学开网吧做网站的小说广电基础设施建设官方网站
  • 手机网站可以做英文版本吗邮箱域名
  • 到什么网站做专利检索报告什么网站做博客好
  • 安卓手机做网站服务器吗影楼管理系统
  • 企业网站.net沈阳优化网站
  • 网站怎么加关键词做优化外贸优秀网站
  • 淄博网站建设公司羊肉片机网站建设包括备案吗
  • 新网域名搭建网站大连网站建设仟亿
  • 江西建设单位网站做网站标志过程
  • 安徽住房和城乡建设厅网站本溪网站建设
  • 怎么找到做网站的客户营销网站建设规划方案