小编Abi*_*aar的帖子

使用IoC的项目中目录的推荐文件夹结构是什么

我已经阅读了很少的文章并观看了很多有关DI和IoC的YT讲座/教程,但我没有在VS解决方案中找到任何推荐的目录布局.

我在谈论项目(例如游戏),你有几个类/接口,记录器,数据库提供程序,wcf服务,wpf表示层(实际上是不同的项目)......

是否有任何模式项目,显示我应该如何组织我的项目,接下来,有经验的程序员不会浪费时间搞清楚发生了什么?就像我们谈论"自我评论的代码"一样,我在谈论"自我评论的项目结构".

例如,我应该将所有接口放入"接口"目录吗?或者我应该(在记录器的情况下)创建"Logger"目录并将接口,类,类与扩展方法放在一起(所有,专注于日志记录).代码集中在Board,在"Board"目录中.单独的"Field"等目录等.

现在结构看起来像那样.我不确定那里的"商业"和Logger.我有不同目录中的接口,然后是其他记录器类.我应该致电Log4Net提供商吗?还是适配器?还是装饰者?它只是一个实现ILogger接口的记录器类.这是屏幕:链接

下面是示例代码(还没有IoC,但是每个人都会注意到会有3个接口映射.非常简单):

public class Game
{
    public IBoard Board { get; set; }

    public Game(IBoard board)
    {
        Board = board;
    }
}

public interface IBoard {}

public class Board : IBoard
{
    public IField[,] Fields { get; set; }
    public Board(IField field, int boardWidth, int boardHeight)
    {
        Fields = new IField[boardHeight, boardWidth];
        Fields.Initialize();
    }
}

public interface IField {}

public class Field : IField {}

public interface ILogger
{
    void Log(LogEntry entry);
}
Run Code Online (Sandbox Code Playgroud)

.net c# architecture dependency-injection inversion-of-control

6
推荐指数
2
解决办法
1998
查看次数