本文以一个简单的实例来说明C#策略模式的实现方法,分享给大家供大家参考。具体实现方法如下:
一般来说,当一个动作有多种实现方法,在实际使用时,需要根据不同情况选择某个方法执行动作,就可以考虑使用策略模式。
把动作抽象成接口,比如把玩球抽象成接口。代码如下:
public interface IBall
{
void Play();
}
有可能是玩足球、篮球、排球等,把这些球类抽象成实现接口的类。分别如下:
public class Football : IBall
{
pu
本文以一个简单实例讲述了C#备忘录模式(Memento Pattern)的实现方法。分享给大家供大家参考。具体实现方法如下:
简单来说,备忘录模式就是支持回退操作。假设让一个Notepad支持回退操作,如何实现呢?
首先需要一个备忘录类。
public class Memento
{
private string _msg;
public Memento(string msg)
{
_msg = msg;
}
public string Ge
本文以实例形式讲述了C#命令模式的实现方法,分享给大家供大家参考。具体实现方法如下:
现假设想让遥控器控制电灯的开关、电视机的开关和切换,该如何做?
所有的开、关、切换都是遥控器发出的指令,把这些指令统一抽象成一个接口。
public interface IControl
{
void Execute();
}
把电灯、电视机抽象成类。
public class Tv
{
public void TurnOn()
{
Console.WriteLine(
本文以一个简单实例的形式讲述了C#复合模式。分享给大家供大家参考。具体实现方法如下:
一般在显示树形结构时,复合模式有很好的体现。本文实例显示如下部门结构:
如上图所示,有的节点包含子节点,有的节点不包含子节点。不管是什么节点,每个节点就代表一个部门。
首先设计一个关于部门的抽象基类。
public abstract class DepartmentComponent
{
public string Name { private set; get; }
public Depa
本文以实例形式详细讲述了C#装饰器模式的实现方法。分享给大家供大家参考。具体实现方法如下:
现假设有一个公司要做产品套餐,即把不同的产品组合在一起,不同的组合对应不同的价格。最终呈现出来的效果是:把产品组合的所有元素呈现出来,并显示该组合的价格。
每个产品都有名称和价格,首先设计一个关于产品的抽象基类。
public abstract class ProductBase
{
public abstract string GetName();
public abstract do