如何在我的应用程序中使用存储库模式实现服务层?

时间:2017-01-10 22:01:26

标签: c# entity-framework asp.net-web-api repository-pattern service-layer

我正在学习软件工程,我正在尝试构建自己的应用程序并尝试了解有关模式的更多信息。

我想构建一个带有控制器,服务和存储库的Web API Core。经过大量的搜索,我仍然无法解决我的问题。我正在实施一个基本游戏,其中包含行星地区(每个行星有4个地区),每个地区都有很多像太空船这样的东西, 建筑物资源。这是我的模型(太空飞船,建筑物和资源将在未来实施):

Planet Model

public class Planet
{
    public int id { get; set; }
    public string name { get; set; }
    public virtual Coordinate coordinate { get; set; }
    public virtual List<Territory> Territories { get; set; }
}

地域模型

   public enum Cardinal_Point
    {
        North, South, West, East
    }
    public class Territory
    {
        public int id { get; set; }
        public int? user_id { get; set; }
        public Cardinal_Point cardinal_point { get; set; }
    }

坐标模型

public class Coordinate
{
    public int id { get; set; }
    public int x{ get; set; }
    public int y{ get; set; }
}

我将实现一个通用存储库,问题是我不知道实现我的服务层的最佳方法。想象一下,我发布到Web API以创建10个随机行星,我的应用程序需要创建具有随机坐标的10个行星,并为每个行星创建4个区域,并创建3个默认建筑物并使用默认编号设置区域的资源。 / p>

该请求适用于5个不同的概念(行星,领土,坐标,建筑,资源)。

我为每个概念实现了1个存储库,但是我的服务层怎么样?每个服务可以有多个存储库,或者每个服务应该拥有自己的存储库,控制器调用具有不同的服务?

所以这是我的问题,我真的想弄清楚这一点! 对不起,任何英文错误,我都不是很流利..

由于

0 个答案:

没有答案