工程模式C#案例
时间: 2023-07-12 21:18:46 浏览: 157
C# 示例工程
以下是一个简单的C#工程模式案例:
```csharp
//定义接口
public interface IShape
{
void Draw();
}
//实现接口
public class Circle : IShape
{
public void Draw()
{
Console.WriteLine("Circle Drawn");
}
}
public class Square : IShape
{
public void Draw()
{
Console.WriteLine("Square Drawn");
}
}
//工厂类
public class ShapeFactory
{
public IShape GetShape(string shapeType)
{
switch (shapeType)
{
case "CIRCLE":
return new Circle();
case "SQUARE":
return new Square();
default:
return null;
}
}
}
//客户端代码
class Program
{
static void Main(string[] args)
{
ShapeFactory shapeFactory = new ShapeFactory();
IShape shape1 = shapeFactory.GetShape("CIRCLE");
shape1.Draw();
IShape shape2 = shapeFactory.GetShape("SQUARE");
shape2.Draw();
Console.ReadKey();
}
}
```
在此示例中,我们首先定义了一个`IShape`接口,表示所有形状都必须实现绘制方法`Draw()`。然后,我们实现了两个形状类`Circle`和`Square`,它们都实现了`IShape`接口,并且实现了自己的`Draw()`方法。
接下来,我们创建了一个工厂类`ShapeFactory`,它具有一个`GetShape()`方法,该方法根据传递的形状类型返回相应的形状。最后,在客户端代码中,我们实例化`ShapeFactory`并使用`GetShape()`方法获取所需的形状,并调用其`Draw()`方法。
这个简单的例子展示了工厂模式如何在C#中使用。它可以帮助我们解耦客户端代码和具体实现类,并使代码更具可维护性和可扩展性。
阅读全文