У меня есть следующий уровень доступа к данным (DAL). Мне было интересно, правильно ли он настроен или мне нужно его улучшить?
public class User
{
}
//Persistence methods
static class UserDataAccess
{
UsersDAL udal = // Choose SQL or FileSystem DAL impl.
InsertUser(User u)
{
// Custom logic , is 'u' valid etc.
udal.Insert(u);
}
}
abstract class UsersDAL
{
GetUserByID();
InsertUser(u);
...
}
// implementaitons of DAL
static class UsersSQLStore : UsersDAL
{
}
static class UsersFileSystemStore : UsersDAL
{
}
Я отделил слой хранения от класса User, чтобы получить доступ к коллекции методов, которая в дальнейшем вызывает любой пользовательский DAL.
Правильно ли использовать static
в реализации DAL?
Пожалуйста, предложите исправления или способы, которыми я могу сделать это лучше. У меня нет большого опыта написания кода в слоях.