C#设计模式(1)————简单工厂模式
2021-07-13 00:06
标签:def efault class rac 就是 cto over cow 耦合度 空出时间总结一下,不然之后又忘了 一、介绍 工厂顾名思义就是生产产品的地方,但是此工厂非彼工厂,我们这里的工厂说的是生产对象的一个类。我们平常的编程中使用new来创建对象,此时类依赖于这个对象,他们的耦合度高,需求变化了就需要修改类的源码。这样是不是很繁琐。如果需求不断变化就需要不断修改源码。此时我们可以通过面向对象的原则来解决这一问题,即封装改变,把需要改变的代码通过类来进行封装,简单工厂模式也就应运而生。 我们看看代码是怎样实现的 二、代码实现举例 //抽象类 动物 public abstract class Animal //小狗 //小牛 public class Cow : Animal //蛇 //小猫 public class Cat : Animal //工厂类 public class AnimalFactory switch (type) } //调用 class Program C#设计模式(1)————简单工厂模式 标签:def efault class rac 就是 cto over cow 耦合度 原文地址:https://www.cnblogs.com/mff520mff/p/9591308.html
{
public abstract void Eat();
}
public class Dog : Animal
{
public override void Eat()
{
Console.WriteLine("小狗啃骨头");
}
}
{
public override void Eat()
{
Console.WriteLine("小牛吃草");
}
}
public class Snake : Animal
{
public override void Eat()
{
Console.WriteLine("蛇吃肉");
}
}
{
public override void Eat()
{
Console.WriteLine("小猫吃鱼");
}
}
{
public static Animal Factory(string type)
{
Animal animal;
{
case "小狗":
animal = new Dog();
return animal;
case "小猫":
animal = new Cat();
return animal;
case "蛇":
animal = new Snake();
return animal;
case "牛":
animal = new Cow();
return animal;
default:
return null;
}
}
{
static void Main(string[] args)
{
var dog = AnimalFactory.Factory("小狗");
dog.Eat();
var car = AnimalFactory.Factory("小猫");
car.Eat();
Console.ReadKey();
}
}
上一篇:LC#1
下一篇:C#异步编程(五)异步的同步构造