我有一个Controller类TodoRepository通过DI实现一个接口的类ITodoRepository.
界面:
public interface ITodoRepository
{
public bool ValidateTodo(Todo todo);
}
Run Code Online (Sandbox Code Playgroud)
存储库类:
public class TodoRepository : ITodoRepository
{
public bool ValidateTodo(Todo todo)
{
//some validation
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
控制者:
public TodoController : BaseController
{
private readonly ITodoRepository _todoRepository;
private const string INVALID_TODO_MESSAGE = "Invalid todo.";
public TodoController(ITodoRepository todoRepository)
{
_todoRepository = todoRepository;
}
public IActionResult Post(Todo todo)
{
if(!_todoRepository.ValidateTodo(todo))
{
return new JsonResult(INVALID_TODO_MESSAGE);
}
}
}
Run Code Online (Sandbox Code Playgroud)
为了能够INVALID_TODO_MESSAGE在每一个Controller使用TodoRepository我想要移动它的东西中使用TodoRepository,但这似乎是不可能的.其他一些解决方案是创建一个readonly属性ITodoRepository,并在其中实现TodoRepository,但我不确定这是否是最好的方法.
您可以在界面旁边创建一个帮助程序类:
public static class TodoConstants
{
public const string INVALID_TODO_MESSAGE = "Invalid todo.";
}
Run Code Online (Sandbox Code Playgroud)
你可以随处使用它TodoConstants.INVALID_TODO_MESSAGE.
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |