C# 使用AbstractFactory

C# 使用AbstractFactory,c#,.net-core,design-patterns,c#-9.0,C#,.net Core,Design Patterns,C# 9.0,我正在做一个项目,需要跟踪特定动物的最终产品。 还有更多的背景,如喂养,疫苗等。。。 在那个保持代码干净、易于理解和维护的项目中,我想到了使用抽象工厂作为解决方案。 我已经准备好了一些东西,但我想听听你们这些更有经验的人的意见,如果我的工作进展顺利与否。 这是我的代码: public interface IAnimal { void CreateAnimal(string code); Guid GetAnimalIdByCode(string cod

我正在做一个项目,需要跟踪特定动物的最终产品。 还有更多的背景,如喂养,疫苗等。。。 在那个保持代码干净、易于理解和维护的项目中,我想到了使用抽象工厂作为解决方案。 我已经准备好了一些东西,但我想听听你们这些更有经验的人的意见,如果我的工作进展顺利与否。 这是我的代码:

  public interface IAnimal
    {
        void CreateAnimal(string code);
        Guid GetAnimalIdByCode(string code);
    }
    public interface IAnimalFactory
    {
        IAnimal CreateAnimal();
    }
    public class ICowFactory : IAnimalFactory
    {
        public IAnimal CreateAnimal()
        {
            return new Cow();
        }
    }
    public class CowFactory : IAnimalFactory
    {
        public IAnimal CreateAnimal()
        {
            return new Cow();
        }
    }
    public class Cow : IAnimal
    {
        public Guid Id { get; set; }
        public string Code { get; set; }


        public void CreateAnimal(string code)
        {
            Id = Guid.NewGuid();
            Code = code;
            //Should I here use DbContext for adding in DB ?
        }

        public Guid GetAnimalIdByCode(string code)
        {
            //Should I here use DbContext for searching ?
            return Id;
        }
    }
在这里,Cow将用作ApplicationDbContext中的实体,从中生成迁移,可以吗? 谢谢,并致以最良好的问候。 保持健康。
Danijel

我建议在代码审查上发布这篇文章。检查。Dam@Kevin,u fast