Организация Data Access Layer - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. В книгах как-то слишком абстрактно все описано, хочется хоть какой-то конкретики. Понятно лишь, то, что клиент (слой представления)должен обращаться к ДАЛ, через интерфейс, дабы можно было менять слои в случае чего как хотим. Вопрос в том, каким должен быть примерно этот интерфейс и к чему конкретно в ДАЛ он должен быть прикручен. Я вижу это примерно так. В ДАЛ следует определить некий класс выступающий в роли Фасада (имеется ввиду паттерн "Фассад"), то есть класс, который рулит всем, что есть под капотом ДАЛ (запросы и прочее). К нему и надо прикрутить интерфейс ДАЛа. Правильно ли я мыслю? Далее. Не совсем понятно, в какой форме следует передавать данные из ДАЛ. В ДАЛе хочется определить ДатаСет, который по идее и должен быть передан на слой представления. Но в каком виде? В неизменном? То есть как DataSet или же как DataTable? Или вообще в массивом? Не ясно. Еще, думается мне, что в слое представления придется определять свой DataSet, а не создавать экземпляр того ДатаСета, который имеется в ДАЛ. Верно ли так поступать? Инкапсуляция же, слои не должны знать ничего друг о друге. Тем более, что ДатаСет, что в ДАЛе, скорее всего будет типизированым. Итак, вынесу вопросы: - Как примерно должен выглядеть интерфейс ДАЛа? Хочется увидеть пример. - К чему прикручивать интерфейс в ДАЛе? - В каком виде следует передавать данные на слой представления?

Решение задачи: «Организация Data Access Layer»

textual
Листинг программы
private static Expression Convert(Expression expression)
        {
            if (expression.NodeType == ExpressionType.Constant)
            {
                return expression;
            }
            LambdaExpression lambda = Expression.Lambda(expression);
            Delegate lambdaDelegate = lambda.Compile();
            return Expression.Constant(lambdaDelegate.DynamicInvoke(null), expression.Type);
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5