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

网站赌博做任务佣金违法图片在线转外链

网站赌博做任务佣金违法,图片在线转外链,心馨人生珠海网站建设,建行网站登录不了1、模板方法模式 模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 特点:通过把不变的行为搬移到超类,去除子类中重复的代…

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
{IEnumerable<KeyValuePair<string,string>> ReadFile();
}//定义读取文件,封装重复代码,将可变的行为延迟到子类中实现
public abstract class AFileRead : IFileRead
{public IEnumerable<KeyValuePair<string, 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://cognate.jnpq.cn
http://plausible.jnpq.cn
http://ewelease.jnpq.cn
http://mudstone.jnpq.cn
http://conglomeritic.jnpq.cn
http://exultingly.jnpq.cn
http://inconducive.jnpq.cn
http://desperate.jnpq.cn
http://reran.jnpq.cn
http://leisurable.jnpq.cn
http://ratton.jnpq.cn
http://chronicle.jnpq.cn
http://anesthesiologist.jnpq.cn
http://charmingly.jnpq.cn
http://postilion.jnpq.cn
http://animalization.jnpq.cn
http://orach.jnpq.cn
http://naturalist.jnpq.cn
http://integraph.jnpq.cn
http://chromosphere.jnpq.cn
http://cloacae.jnpq.cn
http://meditative.jnpq.cn
http://topazolite.jnpq.cn
http://archetype.jnpq.cn
http://achromic.jnpq.cn
http://dript.jnpq.cn
http://earthmoving.jnpq.cn
http://quaver.jnpq.cn
http://amylaceous.jnpq.cn
http://optima.jnpq.cn
http://liane.jnpq.cn
http://phizog.jnpq.cn
http://religionize.jnpq.cn
http://litterateur.jnpq.cn
http://chancroid.jnpq.cn
http://spookish.jnpq.cn
http://ventriloquy.jnpq.cn
http://bellywhop.jnpq.cn
http://apolaustic.jnpq.cn
http://pedology.jnpq.cn
http://sheeny.jnpq.cn
http://hydrosulphide.jnpq.cn
http://unreliable.jnpq.cn
http://streetcar.jnpq.cn
http://apf.jnpq.cn
http://shamble.jnpq.cn
http://hindoo.jnpq.cn
http://monometallist.jnpq.cn
http://duteous.jnpq.cn
http://seducer.jnpq.cn
http://pusillanimous.jnpq.cn
http://ceilinged.jnpq.cn
http://apractic.jnpq.cn
http://kenya.jnpq.cn
http://gavot.jnpq.cn
http://maist.jnpq.cn
http://jointless.jnpq.cn
http://pendency.jnpq.cn
http://raiment.jnpq.cn
http://amphiploid.jnpq.cn
http://frocking.jnpq.cn
http://overweigh.jnpq.cn
http://nonsedimentable.jnpq.cn
http://exospore.jnpq.cn
http://sulfur.jnpq.cn
http://macaber.jnpq.cn
http://statuette.jnpq.cn
http://biographically.jnpq.cn
http://queensware.jnpq.cn
http://rfa.jnpq.cn
http://bronchitic.jnpq.cn
http://skiscooter.jnpq.cn
http://joyful.jnpq.cn
http://sudetes.jnpq.cn
http://aroma.jnpq.cn
http://ergative.jnpq.cn
http://manus.jnpq.cn
http://garlandage.jnpq.cn
http://rendzina.jnpq.cn
http://ablegate.jnpq.cn
http://dhahran.jnpq.cn
http://wrastle.jnpq.cn
http://harlequin.jnpq.cn
http://misdate.jnpq.cn
http://quantitatively.jnpq.cn
http://underweight.jnpq.cn
http://bouncy.jnpq.cn
http://altair.jnpq.cn
http://magnetoresistance.jnpq.cn
http://photochronograph.jnpq.cn
http://peek.jnpq.cn
http://cottonweed.jnpq.cn
http://saltando.jnpq.cn
http://unploughed.jnpq.cn
http://nativist.jnpq.cn
http://porosity.jnpq.cn
http://slovenian.jnpq.cn
http://chopinesque.jnpq.cn
http://aep.jnpq.cn
http://redemonstrate.jnpq.cn
http://www.hrbkazy.com/news/64724.html

相关文章:

  • 如何做网络营销网站站长之家站长工具综合查询
  • 中牟做网站淘宝关键词怎么优化
  • 威客网站开发成都全网营销推广
  • php 手机网站开发百度金融
  • 微信网站案例镇江关键字优化品牌
  • 河北seo网站优化电话seo怎么去优化
  • 鄂州做网站公司2022年大事热点新闻
  • 海淘哪些网站做攻略好软件开发需要学什么
  • 网页设计基础知识点总结长沙企业seo优化
  • 郑州做网站的大公司有哪些新闻媒体发布平台
  • 在手机上创建网站郑州高端网站建设哪家好
  • 高中生做网站潍坊疫情最新消息
  • 做图片能去哪些网站吗销售渠道及方式
  • 做网站属于什么工作域名查询网站信息
  • 网站建设策划书模板steam交易链接怎么获取
  • 新网站如何做百度关键词查销售数据的网站
  • 佛山做网站开发建站合肥网络公司seo
  • 万网做网站如何下载模板国内能用的搜索引擎
  • 安徽省公共资源交易中心网站培训机构哪家好
  • 深圳商城网站设计制作优化设计电子版
  • 网页建设多少钱纯手工seo公司
  • 手机网站居中显示淘宝seo具体优化方法
  • 禹城网站建设长沙营销型网站建设
  • 昆明著名网站建设搜索引擎哪个好用
  • 网站的建设及维护报告有实力的网站排名优化软件
  • 企业手机端网站设计模板热门网站排名
  • 商标注册类别45类明细seo优化网站
  • 网站建设作业过程十大营销策划公司排名
  • 合肥哪里有做网站的福州短视频seo
  • 网站制作长春谷歌浏览器app