【菜鸟学习设计模式】----三个工厂

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xml1996/article/details/82053818

【简单工厂 】
一、UML图:
这里写图片描述
二、代码部分:

//数码产品抽象类
abstract class Digit
{
    public abstract void save()
    {}
}
//简单工厂类依赖于数码产品
class SimpleFactory
{

    public void save()
    {
        Digit digit = new Digit();
        Digit.Save();
    } 
}
//手机类继承数码产品抽象类
class Cellphone:Digit
{
    public override void save()
    {
        return "我也可以实现保存功能"+thing;
    }
    public void phone()
    {}
}
//笔记本类继承数码产品抽象类
class Computer:Digit
{
    public override void save()
    {
        return "我也可以实现保存功能"+thing;
    }
    public void soft()
    {}
}

【工厂方法】
一、UML图
这里写图片描述
二、代码部分

//10纳米工厂接口的CreateDigit方法
interface I10nmFactory
{
    Digit CreateDigit();
}
//10nm手机工厂实现接口
class 10nmCellphoneFactory :I10nmFactory
{
    public Digit CreateDigit()
    {
        return new CreatePhone();
    }
}
//10nm电脑工厂实现接口
class 10nmComputerFactory:I10nmFactory
{
    public Digit CreatDigit()
    {
        return new CreateComputer();
    }
}
//数码产品的类的保存Save和触摸Touch方法
class Digit
{
    public void Save()
    {}
    pubic void Touch()
    {}
}
//手机类继承数码产品类
Class CellPhone :Digit
{
    public override void save()
    {
        return "我也可以实现保存功能"+thing;
    }
    public void phone()
    {
        Console.WriteLine("我还有打电话的功能");
    }
}
//电脑类继承数码产品类
Class Computer:Digit
{
    public override void save()
    {
        return "我也可以实现保存功能"+thing;
    }
    public void soft()
    {
        Console.WriteLine("我还有安装开发软件的功能");
    }
}

【抽象工厂】
一、UML图
这里写图片描述
二、代码部分
之后补上

猜你喜欢

转载自blog.csdn.net/xml1996/article/details/82053818