简单工厂模式(C#)
来源:互联网 发布:阿里云服务器最便宜的 编辑:程序博客网 时间:2024/04/28 21:09
(1)UML设计图
(2)核心实现代码
代码主要分为五部分:
1. SimpleFactory接口
namespace SimpleFactory
{
interface ShapeMethod
{
string draw();
string erase();
}
}
2.Circle类,Rectangle类,Triangle类分别继承SimpleFactory接口,并实现接口的两个方法:draw()和erase()
3.工厂类ShapeFactory,用于产生各种图形对象。其工厂方法createShape,带有字符串型参数name.根据调用者的选择name,产生相应的图形子类对象。返回类型为图形超类类型ShapeMethod。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SimpleFactory
{
class ShapeFactory
{
public static ShapeMethod createShape(string name)
{
ShapeMethod shape = null;
switch (name)
{
case "Circle": shape = new Circle(); break;
case "Rectangle": shape = new Rectangle(); break;
case "Triangle": shape = new Triangle(); break;
default: throw new UnsupportedShapeException(); break;
}
return shape;
}
}
}
4.From1中的点击各鼠标的事件:
namespace SimpleFactory
{
public partial class ShapeClient : Form
{
ShapeMethod shape = null;
public ShapeClient()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
shape = ShapeFactory.createShape(this.comboBox1.Text);
richTextBox1.Text += shape.draw() + "\n";
}
catch (UnsupportedShapeException ex)
{
MessageBox.Show(ex.Message);
}
}
private void button2_Click(object sender, EventArgs e)
{
try
{
shape = ShapeFactory.createShape(this.comboBox1.Text);
richTextBox1.Text += shape.erase() + "\n";
}
catch (UnsupportedShapeException ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
- 简单工厂模式(c++)
- 简单工厂模式(C#)
- 设计模式 - 简单工厂模式(C++)
- C#-简单工厂模式
- 【C#】简单工厂模式
- 【C#】简单工厂模式
- 设计模式之简单工厂,工厂方法模式(c++)
- 简单工厂模式(C语言实现)
- 简单工厂模式的计算器(C++)
- 简单工厂模式(SimpleFactory-C#)
- 【C++】Chapter1:简单工厂模式
- Objective C--简单工厂模式
- Objective C 简单工厂模式
- Objective C--简单工厂模式
- C#--简单工厂设计模式
- 工厂模式(简单工厂、工厂方法)
- 设计模式之简单工厂模式(使用C++)
- 设计模式——简单工厂模式(C++)
- hdoj 1022 Train Problem I 【顺序栈】
- 陶喆小16岁未婚妻曝光 皮肤白外型亮丽
- Android中visibility属性
- 二分查找算法
- 推挽输出与开漏输出的区别
- 简单工厂模式(C#)
- JAVA:连接池技术说明以及MVC设计模式理解
- 如何定义好的网盟推广位
- 关于信息的瞎扯淡
- Linux常用命令手册
- Windows下python环境变量配置
- c# 接口
- Java与js的交互
- LV 协议