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

网站开发及服务合同下列关于网站开发中网页额

网站开发及服务合同,下列关于网站开发中网页额,5分钟宣传片多少钱,上海 网站设计公司1、模板方法模式 模板方法模式#xff1a;定义一个操作中的算法骨架#xff0c;而将一些步骤延迟到子类中#xff0c;模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 特点#xff1a;通过把不变的行为搬移到超类#xff0c;去除子类中重复的代… 1、模板方法模式 模板方法模式定义一个操作中的算法骨架而将一些步骤延迟到子类中模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 特点通过把不变的行为搬移到超类去除子类中重复的代码来体现它的优势。 模板方法模式提供了一个很好的代码复用平台。当不变的和可变的行为在子类实现中混合在一起的时候不变的行为就会在子类中重复出现。我们通过模板方法模式把这些行为搬移到单一的地方这样就帮助子类摆脱重复的不变的行为的纠缠。 2、Net Core 读取的类型文件 读取不同类型文件的代码 //读取JSONConfigurationBuilder builder new ConfigurationBuilder();builder.AddJsonFile(configuration.json);var config builder.Build();var collections config.AsEnumerable();//读取INIConfigurationBuilder builder new ConfigurationBuilder();builder.AddIniFile(configuration.ini);var config builder.Build();var collections config.AsEnumerable();//读取XMLConfigurationBuilder builder new ConfigurationBuilder();builder.AddXmlFile(configuration.xml);var config builder.Build();var collections config.AsEnumerable(); 如上代码如果不使用模板方法模式定义读取文件基类子类中重写读取方法如下代码 //定义读取文件的基类public abstract class AFileRead{public abstract void Read(string path);}//定义读取JSON文件的子类public class FileReadJson:AFileRead{public override void Read(string path){ConfigurationBuilder builder new ConfigurationBuilder();builder.AddJsonFile(path);var config builder.Build();var collections config.AsEnumerable();}}//定义读取INI文件的子类 public class FileReadIni : AFileRead {public override void Read(string path){ConfigurationBuilder builder new ConfigurationBuilder();builder.AddIniFile(path);var config builder.Build();var collections config.AsEnumerable();} } //定义读取XML文件的子类public class FileReadXml:AFileRead{public override void Read(string path){ConfigurationBuilder builder new ConfigurationBuilder();builder.AddXmlFile(path);var config builder.Build();var collections config.AsEnumerable();}} 上述代码中只有一行读取不同类型文件代码不同其余代码都相同。这只是单独的一个读取文件的功能代码量很小如果是一个特别大的功能代码过多那么如果要更改的话工作量也是很大的。 为了减少重复的代码如何去解决这个问题 这个时候模板方法模式就起作用了。模板方法模式将子类中不变的行为定义到基类中子类中只留下可变的行为这样子类中就摆脱了重复代码的纠缠代码如下 //定义读取文件的接口 public interface IFileRead {IEnumerableKeyValuePairstring,string ReadFile(); }//定义读取文件封装重复代码将可变的行为延迟到子类中实现 public abstract class AFileRead : IFileRead {public IEnumerableKeyValuePairstring, string ReadFile(){ConfigurationBuilder builder new ConfigurationBuilder();AddFile(builder); var config builder.Build();var collections config.AsEnumerable();return collections;}//这个函数需要延迟到子类中去实现protected abstract IConfigurationBuilder AddFile(ConfigurationBuilder builder); } //读取JSON文件 public class ReadJsonFile : AFileRead {protected override IConfigurationBuilder AddFile(ConfigurationBuilder builder){return builder.AddJsonFile(configuration.json);} } //读取XML文件 public class ReadXmlFile : AFileRead {protected override IConfigurationBuilder AddFile(ConfigurationBuilder builder){return builder.AddXmlFile(configuration.xml);} } //读取Ini文件 public class ReadIniFile : AFileRead {protected override IConfigurationBuilder AddFile(ConfigurationBuilder builder){return builder.AddIniFile(configuration.ini);} } 总结 模板方法模式帮助我们封装了不变的行为涉及到实现某些特定步骤时就延迟到了子类中去实现在更改某个读取文件的函数时不会影响到其他读取文件的功能。
http://www.hkea.cn/news/14299514/

相关文章:

  • 网站上线要多久深圳营销型网站建设公司网络服务
  • 东莞网站建设营销网站关键字排名查询工具
  • 网站模板设计师要求昆明有多少做网站的公司
  • 网站用品哪里进货好seo分析案例
  • flash网站建设教程wordpress分享获得优惠
  • 漳州市住房建设局网站郴州网站网站建设
  • 网站建设有什么服务推荐wordpress主题xiu
  • 如何在各大网站发布信息中山网上房地产
  • 静态网站如何做自适应移动端湖北省建筑信息平台
  • 郑州企业如何建网站公司网站建设项目详情
  • 渝北网站制作搭建网站需要什么语言
  • 计算机机应用网站建设与维护电商自学网
  • 建设明星网站的目的高校信息化建设网站系统微信
  • 响应式相册网站模板企业管理软件系统
  • 开篇网站推广深圳百度总部
  • 无锡百度竞价推广学习网站建设优化
  • 网站收录平台方法哪些做直播卖食品的网站有哪些
  • 三明网站seo汉化wordpress插件
  • 网站怎么做可以合法让别人充钱可以生成静态网站源码
  • 校园网站建设 方案论证深圳公司网站建设服务为先
  • 视频网站开发的论文响应式网站开发现状
  • 网站登录密码忘记了怎么办网站建站合同
  • 网站模板建设二级目录现在有人还做网站吗
  • 国通快速建站给公司网站做seo
  • 网站虚拟服务器宁波网络公司做网站
  • 济宁建站公司建网站能赚钱吗赚多少
  • 网站建设 流程高端网站设计制作
  • 网站开发外文参考文献上海个人网站制作公司
  • 自己做的工艺品在哪个网站上可以卖织梦网站地图生成
  • 国内最大网站制作公司定制营销型网站公司