C#.Net OOP系列之接口设计及策略应用实战


  C#.Net OOP系列之接口设计及策略应用实战C#.Net OOP系列之接口设计及策略应用实战


OOP编程之策略模式接口设计


接口设计, 策略应用, 对象多态性, 及其它OOP技术在这个演示实例展示。

如转载本文请注明出处!
来源:www.CSFramework.com, C/S结构框架学习网


//数据显示器接口
public interface IShowCustomer
{
   IList GetCustomers(); //函数
   void ShowCustomers(IList customers); //方法
   void ShowCustomers(); //方法,重载
}

//数据显示器基类
public class ShowerBase : IShowCustomer
{
   public virtual IList GetCustomers()
   {
      return CustomerTester.GetCustomers();
   }
   
   //当没有指定数据源,作为预设的显示方法
   public void ShowCustomers()
   {
      IList customers = this.GetCustomers();
      
      //调用模板方法
      this.ShowCustomers(customers);
   }
   
   //虚方法,用于override
   //实现具体的业务逻辑
   public virtual void ShowCustomers(IList customers) { }
}

//用Listbox显示
public class ShowListBox : ShowerBase
{
   private ListBox _container;
   
   public ShowListBox(ListBox container)
   {
      _container = container;
   }
   
   //具体的业务逻辑
   public override void ShowCustomers(IList customers) //方法,复写override overload
   {
      _container.Items.Clear();
      foreach (object o in customers) _container.Items.Add(o);
   }
}

//用表格显示
public class ShowGridView : ShowerBase
{
   private DataGridView _gv;
   
   public ShowGridView(DataGridView gv)
   {
      _gv = gv;
   }
   
   //具体的业务逻辑
   public override void ShowCustomers(IList customers) //方法,复写override
   {
      _gv.DataSource = null;
      _gv.DataSource = customers;
   }
}

//用TreeView显示
public class ShowTreeView : ShowerBase
{
   private TreeView _view;
   
   public ShowTreeView(TreeView view)
   {
      _view = view;
   }
   
   //具体的业务逻辑
   public override void ShowCustomers(IList customers) //方法,复写override
   {
      _view.Nodes.Clear();
      TreeNode n;
      foreach (Customer c in customers)
      {
         n = _view.Nodes.Add(c.CustomerName);
         n.Nodes.Add(c.CustomerID);
         n.Nodes.Add(c.CustomerAddress);
      }
      _view.ExpandAll();
   }
}



// 来源:www.CSFramework.com, C/S结构框架学习网



贴图图片




贴图图片




贴图图片



如转载本文请注明出处!




C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务


版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:C#初学者请进:分享一些C#.Net培训源码
下一篇:C# C/S框架功能-保存修改日志(Modify Log)
评论列表

发表评论

评论内容
昵称:
关联文章

C#.Net OOP系列接口设计策略应用实战
C#面向对象设计(OOP)对象多态(Polymorphic)
最全C#OOP设计思想汽车模型源代码
C/S自动升级软件下载升级包策略设计|C/S框架网
开发应用 - 策略模式(Strategy Pattern) 常用设计模式
C#.NET C/S结构版本自动升级解决方案升级策略
CS系统三层架构扩展支持WCF策略模式应用(原创)
C#.Net版本自动更新程序3种策略实现
OOP设计思想教学设备系统.附UML图.(一)
CSFramework.WebApi新手入门实战开发教程(C#+VS2017)
C#框架推荐-C/S框架网原创快速开发平台系列产品
C#.NET WEBAPI 接口设计与调用
Winform通用框架(C#.NET)权限管理系统详细设计|C/S框架网
CSFramework软件版本自动升级程序 - 升级策略接口说明
使用OOP用什么好处:
最全C#OOP面向对象程序设计源代码(Car.cs)
企业数据库管理应用系统实现多种登录方式(策略模式)
C#.NET WEBAPI 接口设计-调用多个参数的接口
C/S框架多数据库应用账套数据库提供者DatabaseProvider类设计图
CSFramework框架Winform项目实战案例, Winform开发的软件

热门标签