外观模式(facade)C#
来源:互联网 发布:starstail for mac 编辑:程序博客网 时间:2024/06/13 22:56
外观工厂模式c#上简单例子
功能:玩家有各自的移动和跳跃功能,通过外观模式实现,将所有玩家移动组合在功能1,将所有玩家跳跃功能组合在功能2中
namespace facade
{public partial class Form1 : Form
{
private void btnFacade_Click(object sender, EventArgs e)
{
facadeFactory ff = new facadeFactory();//外观模式隐藏了玩家,用户不知道有几个玩家
ff.move();//实现外观功能1
this.listBox1.Items.Add(ff.movestring);
ff.jump();//实现外观功能2
this.listBox1.Items.Add(ff.jumpstring);
}
}
public abstract class play//对所有玩家进行抽象
{
public string movestring { get; set; }
public string jumpstring { get; set; }
public abstract void move();
public abstract void jump();
}
public class play1 : play//玩家1
{
public override void move()
{
movestring = "play1 move";
}
public override void jump()
{
jumpstring = "play1 jump";
}
}
public class play2 : play//玩家2
{
public override void move()
{
movestring = "play2 move";
}
public override void jump()
{
jumpstring = "play2 jump";
}
}
public class facadeFactory//外观模式工厂实现
{
public string movestring;
public string jumpstring;
List<play> plays = new List<play>();
play playone = new play1();
play playtwo = new play2();
public facadeFactory()
{
plays.Add(playone);
plays.Add(playtwo);
}
public void move()//外观模式功能一:两个玩家组队一起移动
{
foreach (play playt in plays)
{
playt.move();
movestring += playt.movestring;
}
}
public void jump()//外观模式功能二:两个玩家组队一起跳跃
{
foreach (play playt in plays)
{
playt.jump();
jumpstring += playt.jumpstring;
}
}
}
}
此文件由朱朱编写,转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688
1 1
- 外观模式(facade)C#
- C# 设计模式--外观模式(Facade)
- C#设计模式-外观模式(Facade Patten)
- Facade模式(外观模式)
- 外观模式(Facade)
- 外观模式(Facade Pattern)
- 外观(Facade)模式
- 外观模式(Facade Pattern)
- Facade(外观)模式
- Facade外观模式
- facade(外观模式)
- Facade 外观模式
- 外观模式(Facade)
- Facade外观模式
- Facade外观模式
- 外观模式Facade
- 外观模式(Facade)
- Facade(外观)模式
- 快速判断正整数是否为某个数的幂
- The thinking of struts2 namspace
- 隐马尔可夫(HMM)
- <mvc:view-controller path="" view-name=""/>这个的具体使用
- C 语言程序设计实践 5.5 求约数个数
- 外观模式(facade)C#
- 设计模式之策略模式
- XSS跨站脚本攻击(二)
- C 语言程序设计实践 5.6 好吃的苹果
- CountingDigits projecteuler156题
- 科技术语语义相似度计算方法研究综述
- Microsoft Dynamics AX发展历史
- 解决“未能实例化ActiveX控件”的三种方法
- C 语言程序设计实践 5.7 分数矩阵