实验一工厂模式与抽象工厂模式设计
实验内容
请使用简单工厂模式设计一个创建不同几何形状,如圆形、方形和三角形实例的描图员(Art Tracer)系统。每个几何图形都要有画出draw()和擦去erase()两个方法。
为了更好的在系统中增加其它图形,请用工厂方法模式重构。
为了能够在系统中创建几何图形以外的内容,如文字等,请使用抽象工厂模式重构。
代码:
工厂模式:
Shape类及其他的继承类:
using System;
using ;
using ;
using ;
namespace Shape
{
public interface Shape
{
void draw();
void erase();
}
public class Circle : Shape
{
public void draw()
{
("画圆");
}
public void erase()
{
("擦去圆");
}
}
public class Rectangle : Shape
{
public void draw()
{
("画方形");
}
public void erase()
{
("擦去方形");
}
}
public class Triangle : Shape
{
public void draw()
{
("画三角形");
}
public void erase()
{
("擦去三角形");
}
}
}
工厂类:
namespace Shape
{
public abstract class Factor
{
public abstract Shape factor();
}
public class FactorCircle : Factor
{
public override Shape factor()
{
return new Circle();
}
}
public class FactorRectangle : Factor
{
public override Shape factor()
{
return new Rectangle();
}
}
public class FactorTriangle : Factor
{
public override Shape factor()
{
return new Triangle();
}
}
}
工厂模式测试代码:
namespace Shape
{
class Program
{
static void Main(string[] args)
{
("工
工厂模式及抽象工厂模式代码 来自淘豆网www.taodocs.com转载请标明出处.