RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
详解C#中TemplateMethod模式-创新互联

小编这次要给大家分享的是详解C#中TemplateMethod模式,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、成都网站制作、白云网络推广、小程序设计、白云网络营销、白云企业策划、白云品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;成都创新互联公司为所有大学生创业者提供白云建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

一个真实的故事

大学的时候就开过一门课程,讲设计模式,可是大学生没什么编程实践经验,在大学里面听设计模式的感觉,就像听天书。听着都有道理,可是完全领会不到其中的奥妙,大抵原因就在于没有走过弯路,没有吃过设计不当的亏。古人云,“操千曲而后晓声,观千剑而后识器”,诚不欺我。

博主在之前的某个项目中,设计出了一些工具类,像属性窗口,错误提示窗口,还有一个窗口管理类管理它们,当时我实现工具保存时候的代码是这样的:

 class WindowManager
 {
  private List _Tools = new List();  

  public void AddTool(ITool tool)
  {
   _Tools.Add(tool);
  }

  public void SaveAllTools()
  {
   foreach(var tool in _Tools)
   {
    tool.Save();
   }
  }
 }

 interface ITool
 {
  bool BeforeSave();
  void Save();
  void AfterSave();
 }

 class PropertyWindow : ITool
 {
  public bool BeforeSave()
  {
   //do something specific here
   return true;
  }

  public void Save()
  {
   if (BeforeSave())
   {
    //do save
    AfterSave();
   }
  }

  public void AfterSave()
  {

  }
 }

 class ErrorLis : ITool
 {
  public bool BeforeSave()
  {
   //do something specific here
   return true;
  }

  public void Save()
  {
   if (BeforeSave())
   {
    //do save
    AfterSave();
   }
  }

  public void AfterSave()
  {

  }
 }

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:详解C#中TemplateMethod模式-创新互联
网页URL:http://lswzjz.com/article/deieps.html