powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Грамотная архитектура приложения на ASP.NET MVC
25 сообщений из 167, страница 4 из 7
Грамотная архитектура приложения на ASP.NET MVC
    #38324374
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, конкретные вопросы будут?
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38324387
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAhVostt, конкретные вопросы будут?

У нормальных людей DAL классы - это DAL классы.

что за DAL классы такие у нормальных людей, и какие видятся несостыковки с тем, что написал я?
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38324529
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, DAL классы - это те классы, что используются на уровне доступа к данным и за пределами репозитория их не видно.
На языке EF - это означает, что репозиторий не должен возвращать сущности, завязанные на EntityObject и ObjectContext.

Нестыковки у тебя в том, что до конца не понятно, что возвращает твой _service и избавился ли ты от использования DAL классов в представлении и контроллере.
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38324578
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

всё правильно. DAL не светит на ружу Data Context-ом.

пример структуры размещения:

сборка MyProj.Data
— содержит определения классов модели (кот. в тоже время являются DTO)
— ничего не знает о DataContext и Entity Framework
— содержит интерфейс IRepository
— содержит публичный интферейс IXXXService и закрытую (internal) реализацию XXXService
— содержит публичный интерфейс IUnitOfWork

сборка MyProj.Data.Access
— референсит MyProj.Data и EF
— содержит реализацию Data Context
— реализует IRepository из MyProj.Data
— реализует IUnitOfWork


основной проект ссылается на обе сборки. регистрирует их как модули и работает исключительно с интерфейсами через IoC. в следствие этого Data.Access заменить можно (на что угодно, хоть на Redis реализацию), Data — заменить нельзя, так как это суть есть модель.

через IXXXService доступ к бизнес-логике. все операции над моделью XXX и связанными сущностями. через IUnitOfWork получаем доступ к сохранению изменений. если контроллер не владеет IUnitOfWork, он ни при каких обстоятельствах, что бы он не делал, не может произвести никаких изменений с моделью.

какие несостыковки? или вы предлагаете еще один слой классов Модели над DTO, а только затем уже ViewModel ?
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38324592
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

просто да, так получается, что классы domain модели являются DTO в EF Code First. и через навигационные свойства можно получить доступ к связанным объектам. и это огромный плюс. если на этом завязываться, то мы поимеем зависимость от такого поведения, которую не-EF может не реализовывать и придется реализовывать кастомно (хотя тот же BLToolkit это умеет из каропки и другие игроки тоже могут). правда, мне не приходилось работая с Code First на горячую менять ORM. базу данных можно легко поменять при наличии провайдера.

вообще эт все ради TDD. приведенная модель отлично подходит для полного покрытия тестами всей инфраструктуры. модель отлично существует и работает отдельно от основного проекта. писался онлайн мониторинг на десктопе с использованием одной и той же модели, не говоря уже о различных загрузчиках, реализованных отдельными сервисами.

что здесь плохо? может посоветуете, что можно улучшить?
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38324670
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

плохо то что все в коде
в коде может быть только то, что создано тобою
что создано богом должно быть расширяемо и интерпретируемо через контексты
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38324684
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosплохо то что все в коде
в коде может быть только то, что создано тобою
что создано богом должно быть расширяемо и интерпретируемо через контексты

я проникся
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38324700
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANA,

просто да, так получается, что классы domain модели являются DTO в EF Code First. и через навигационные свойства можно получить доступ к связанным объектам. и это огромный плюс. если на этом завязываться, то мы поимеем зависимость от такого поведения, которую не-EF может не реализовывать и придется реализовывать кастомно (хотя тот же BLToolkit это умеет из каропки и другие игроки тоже могут). правда, мне не приходилось работая с Code First на горячую менять ORM. базу данных можно легко поменять при наличии провайдера.

вообще эт все ради TDD. приведенная модель отлично подходит для полного покрытия тестами всей инфраструктуры. модель отлично существует и работает отдельно от основного проекта. писался онлайн мониторинг на десктопе с использованием одной и той же модели, не говоря уже о различных загрузчиках, реализованных отдельными сервисами.

что здесь плохо? может посоветуете, что можно улучшить?Я не понял, у тебя объекты завязанны на EF, или таки нет?
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38324709
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

MyProj.Data совершенно ничего не знает о EF (нет референса), а работаю из проекта я именно с ним.

хотя и Business Objects выглядят примерно вот так:

public class Order
{
...
[MaxLength(Basis.Number)]
public string Number {get;set;}
...
public virtual ICollection<Service> Services { get; set;}
...
}

что какбы намекает :) но прямой взаимосвязи нет, только соглашения (для удобства, но это вовсе не обязательно). конечно из DAL я получаю на самом деле инстанс прокси-класса (заэммиченный наследник Order, реализующий Lazy-навигационные свойства) — это щитается?
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38324837
monstrU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANA,

всё правильно. DAL не светит на ружу Data Context-ом.

пример структуры размещения:

сборка MyProj.Data
— содержит определения классов модели (кот. в тоже время являются DTO)
— ничего не знает о DataContext и Entity Framework
— содержит интерфейс IRepository
— содержит публичный интферейс IXXXService и закрытую (internal) реализацию XXXService
— содержит публичный интерфейс IUnitOfWork


то есть IRepository в этом случае у тебя работает с объектами модели?
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38324839
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
monstrU,

да Get, Query, Add, Update, Remove...
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38325048
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

какой смысль одно и то ж дублировать на разных уровнях?
мыслишь в таблицах, так и работай с таблицами
модель блин, которая = таблица в БД в лучшем случае
какой то ДТО придумали от бессилия
ужость
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38325157
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosмыслишь в таблицах, так и работай с таблицами

типа так ? )
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38325164
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

а че? нормально, никаких левых абстракций ради абстракций
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38325176
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Когда-то так и было. С абстракциями порядка больше, багов меньше )
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38325178
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttmonstrU,

да Get, Query, Add, Update, Remove...

Бред сивой кобылы репозиторий затачивать под дженерик от модели с лапидарными гет, апдейт и иже с ним. Тот же контекст еф уже обслуживает весь этот функционал и даже больше. Репозиторий или датасервис не должен зависеть от модели. Это полновесный слой.
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38325179
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos, о смысле шаблона Repository (Репозиторий) могли бы и прочитать.
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38325197
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУРепозиторий или датасервис не должен зависеть от модели. Это полновесный слой.Будь любезен, раскрой мысль.
"Не должен зависеть от модели" - это как?
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38325208
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУРепозиторий или датасервис не должен зависеть от модели. Это полновесный слой.Будь любезен, раскрой мысль.
"Не должен зависеть от модели" - это как?
Я же раскрыл уже. Речь о генерик репозитории. Раскрыть мысль, что такое генерик?
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38325287
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, а, понял, ты под моделью ты понимаешь отдельную сущность?
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38325302
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

вот вот
че за Модель то?
потеряв месяц на изучение всего этого барахла понял что "модель" это та фигня, которая передается для визуализации
все крутится вокруг - как бы че нить показать и при том показать хреновенько :(
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38325326
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosвот вот
че за Модель то?
потеряв месяц на изучение всего этого барахла понял что "модель" это та фигня, которая передается для визуализации
все крутится вокруг - как бы че нить показать и при том показать хреновенько :(ВикипедиЯКонцепция MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента:
- Модель (англ. Model). Модель предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать.
- Представление, вид (англ. View). Отвечает за отображение информации (визуализацию). Часто в качестве представления выступает форма (окно) с графическими элементами.
- Контроллер (англ. Controller). Обеспечивает связь между пользователем и системой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции.
Вы потратили месяц на то, чтобы понять, что в представление передаётся информация, которую надо отобразить (визуализировать)?
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38325328
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosче за Модель то?

Да, тут часто непонятки, EF model, MVC model, DATA model, View model, Business Model, Entity Model и тд.
Каждый своё поразумевает )
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38325330
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

в АСП НЕТ МВС я не видель у модели никаких методов
под моделю подразумевается данные которые помешается во вьюдата и все
...
Рейтинг: 0 / 0
Грамотная архитектура приложения на ASP.NET MVC
    #38325331
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонViPRosче за Модель то?

Да, тут часто непонятки, EF model, MVC model, DATA model, View model, Business Model, Entity Model и тд.
Каждый своё поразумевает )
во во
а Модель то воще то модель предметной области вроде бы
...
Рейтинг: 0 / 0
25 сообщений из 167, страница 4 из 7
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Грамотная архитектура приложения на ASP.NET MVC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]