powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / MVVM+DAL+BL правильное применение.
25 сообщений из 27, страница 1 из 2
MVVM+DAL+BL правильное применение.
    #38725449
Linkin39
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здрасьте. форумчане.

Вопрос архитектурного плана.
Задача: сделать модуль по работе с компаниями. в котором есть определенный набор связанных сущностей.
пример: Есть список компаний. у каждой компании есть название, адрес, тел., тип компании, пользователь и др.
т.е. есть модельки Customer, CustomerType, Users, они связаны между собой соответственно(один-ко-многим).
Есть DAL в котором GenericDataRepository(работа с DBContext, CRUD-методы) и "репы" обернутые в IGenericDataRepository.
Есть BusinessLayer, немного кода:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
        private readonly ICustomerRepository _custRepository;

        public ClientLayer()
        {
            _custRepository = new CustomerRepository();
        }

        public ClientLayer(ICustomerRepository custRepository)
        {
            _custRepository = custRepository;
        }

        public IList<Customer> GetAllCustomers()
        {
            return _custRepository.GetAll(q => q.CustomerType);
        }
        public void AddCustomer(params Customer[] customers)
        {
            _custRepository.Add(customers);
        }



Есть CustomerListViewModel.cs, в конструкторе заполняем список через GetAllCustomers().
Есть CustomerCardViewModel.cs, в котором AddCustomer(customer).

И конечно вьюхи.

С точки зрения MVVM насколько оправдан такой подход? Столкнусь ли с дальнейшими проблемами в работе?

И если не будет лениво, на гите поглядите исходники



По> градусов°,€ и по< †..
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38725454
Linkin39
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может я ошибся с веткой но вопрос использования DAL и BL интересует.
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38725566
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linkin39С точки зрения MVVM насколько оправдан такой подход? Столкнусь ли с дальнейшими проблемами в работе?С точки зрения MVVM важно удобство натягивания датабиндинга на предоставленные данные, наличие INotifyPropertyChanged и т. п. Всё остальное пофиг...
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38725642
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linkin39С точки зрения MVVM насколько оправдан такой подход? Столкнусь ли с дальнейшими проблемами в работе?
Если столкнешься с проблемами, всегда можно немного отступить в сторону классического code behind, имея при этом и view model. Зато 99% рутины mvvm реально покроет.
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38725775
Linkin39
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей КLinkin39С точки зрения MVVM насколько оправдан такой подход? Столкнусь ли с дальнейшими проблемами в работе?С точки зрения MVVM важно удобство натягивания датабиндинга на предоставленные данные, наличие INotifyPropertyChanged и т. п. Всё остальное пофиг...

с байдингом всё понятно, и PropertyChanged есть в BindableBase.
Вот непонятно ViewModel, нужно ли наличие ещё какого шаблона чтобы работать со всеми нужными сущностями.
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38725884
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linkin39Вот непонятно ViewModel, нужно ли наличие ещё какого шаблона чтобы работать со всеми нужными сущностями.Если стоит задача применить в решении все известные шаблоны - тогда да. В остальных случаях - зависит от потребностей.

Мысли о MVVM на практике .
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38725887
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЕсли столкнешься с проблемами, всегда можно немного отступить в сторону классического code behind, имея при этом и view model. Зато 99% рутины mvvm реально покроет.Не пойму, откуда столько ненависти к code-behind? :-)
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38725921
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К Мысли о MVVM на практике .
Эка тебя понесло в философию...

Алексей КНе пойму, откуда столько ненависти к code-behind? :-)
Отголости былого имериализма и жирной неповоротливости WinForms и ASP.NET WebForms. Нужно быть тоньше
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38725922
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторОтголоски
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38725934
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНе пойму, откуда столько ненависти к code-behind? :-)
Отголости былого имериализма и жирной неповоротливости WinForms и ASP.NET WebForms. Нужно быть тоньше Неа. Корявость WinForms заключается не в наличии code-behind.

Это раньше было в отдельном классе. Перенёс в code-behind и оно стало в разы короче и понятнее.

Считай code-behind разновидностью ViewModel и всё встанет на свои места.
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38726279
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КСчитай code-behind разновидностью ViewModel и всё встанет на свои места.
Не нравится ехать поездом в Крым, а потом торчать в Керчи на паромной переправе? Просто считай паром поездом и всё встанет на свои места :)
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38726320
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КСчитай code-behind разновидностью ViewModel и всё встанет на свои места.
Не нравится ехать поездом в Крым, а потом торчать в Керчи на паромной переправе? Просто считай паром поездом и всё встанет на свои места :)Можешь своими словами дать определение ViewModel?
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38726400
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМожешь своими словами дать определение ViewModel?
Могу. Обертка для связывания модели и представления. Причем, без прямой связи с представлением. Так что тут code behind уже идет лесом.
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38726431
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КМожешь своими словами дать определение ViewModel?
Могу. Обертка для связывания модели и представления.А если Model нет, то следовательно ViewModel тоже нет? ViewModel может существовать только в паре с Model?
МСУПричем, без прямой связи с представлением.Наличие ссылки на View автоматически лишает объект гордого имени ViewModel?
МСУТак что тут code behind уже идет лесом.Это мы ещё посмотрим.

Ты описал лишь одну ситуацию, которую, на мой взгляд, нужно стараться избегать. А теперь подумай о практической пользе такого определения? Её нет. А в описанном мною подходе польза есть.
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38726443
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КА если Model нет, то следовательно ViewModel тоже нет? ViewModel может существовать только в паре с Model?
Если Model нет, значит и ViewModel тоже нет. И UI у тебя - просто пустой XAML. Радуемся пустому окошку.

Алексей КНаличие ссылки на View автоматически лишает объект гордого имени ViewModel?
Ссылки где, в code behind или во View Model? Если первое, то - нет. Если второе, то да.

Алексей КМСУТак что тут code behind уже идет лесом.Это мы ещё посмотрим.
Ути пути

Алексей КТы описал лишь одну ситуацию, которую, на мой взгляд, нужно стараться избегать. А теперь подумай о практической пользе такого определения? Её нет. А в описанном мною подходе польза есть.
Это лишь горячие слова не менее горячего новосибирского хлопца. Не более того :)
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38726491
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КА если Model нет, то следовательно ViewModel тоже нет? ViewModel может существовать только в паре с Model?
Если Model нет, значит и ViewModel тоже нет. И UI у тебя - просто пустой XAML. Радуемся пустому окошку.Неа. :-)
МСУАлексей КНаличие ссылки на View автоматически лишает объект гордого имени ViewModel?
Ссылки где, в code behind или во View Model? Если первое, то - нет. Если второе, то да.Ну и какая практическая польза от описания частного случая, присваивания ему гордого имени и преподнесения его как единственно верного решения? Если у кого-то где-то чего-то не получалось с code-behind, то почему все остальные из-за этого должны страдать?

Загубили замечательный проект. WPF умер из-за таких как ты!

Вон в HTML каждый др@чет как хочет и всем наплевать на теоретическую правильность. А тут нет, выискались десяток умников, которые начали всех учить правильно жить. Потому HTML живёт и будет жить, а WPF загнулся. Может оно и к лучшему.
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38726551
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КТы описал лишь одну ситуацию, которую, на мой взгляд, нужно стараться избегать. А теперь подумай о практической пользе такого определения? Её нет. А в описанном мною подходе польза есть.
Это лишь горячие слова не менее горячего новосибирского хлопца. Не более того :)Это моё мнение, которое я не навязываю, которое не лучше и не хуже остальных. :-)
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38726579
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу и какая практическая польза от описания частного случая, присваивания ему гордого имени и преподнесения его как единственно верного решения? Если у кого-то где-то чего-то не получалось с code-behind, то почему все остальные из-за этого должны страдать?
Да в топку твой code-behind, от него только вред :) В том числе и в WebForms.

Алексей КWPF умер из-за таких как ты!



Алексей КВон в HTML каждый др@чет как хочет и всем наплевать на теоретическую правильность
Но-но. Там тоже всё чётко, внятный MVC, котроллеры, сервисы. Не надо вот только зудеть.
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38726599
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНу и какая практическая польза от описания частного случая, присваивания ему гордого имени и преподнесения его как единственно верного решения? Если у кого-то где-то чего-то не получалось с code-behind, то почему все остальные из-за этого должны страдать?
Да в топку твой code-behind, от него только вред :) В том числе и в WebForms.С WebForms не работал, Бог миловал. И не собираюсь. :-)
МСУАлексей КВон в HTML каждый др@чет как хочет и всем наплевать на теоретическую правильность
Но-но. Там тоже всё чётко, внятный MVC, котроллеры, сервисы. Не надо вот только зудеть.Это серверная концепция. А я говорю чисто про клиентскую, которая живёт в HTML, внутри серверного View. Там если взять, например, Knockout, то подход получается один-в-один как в WPF.
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38726602
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУДа в топку твой code-behind, от него только вред :)Это лишь горячие слова не менее горячего новосибирского московского хлопца. Не более того :)
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38726614
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КС WebForms не работал, Бог миловал. И не собираюсь. :-)
Ото ж. После MVC даже щупать не захочешь :)

Алексей КЭто серверная концепция. А я говорю чисто про клиентскую, которая живёт в HTML, внутри серверного View. Там если взять, например, Knockout, то подход получается один-в-один как в WPF.
Стараюсь и всегда старался минимизировать убогий javascript на клиенте, только основное - unobtrusive validation, аякс если сильно надо, что-то еще. Маппить можно разором. Честно говоря, не вижу необходимости в кнокаутах и прочих перделках. Но это мое личное мнение.
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38726629
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КЭто серверная концепция. А я говорю чисто про клиентскую, которая живёт в HTML, внутри серверного View. Там если взять, например, Knockout, то подход получается один-в-один как в WPF.
Стараюсь и всегда старался минимизировать убогий javascript на клиенте, только основное - unobtrusive validation, аякс если сильно надо, что-то еще. Маппить можно разором. Честно говоря, не вижу необходимости в кнокаутах и прочих перделках. Но это мое личное мнение.А я заценил всю мощь knockout + TypeScript + jQuery + AJAX. Костыли, коих до этого хватало, больше не нужны.
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38726697
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КА я заценил всю мощь knockout + TypeScript + jQuery + AJAX. Костыли, коих до этого хватало, больше не нужны.

...кстати, версия 3.2.0 вышла у нокаута ....
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38726742
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikАлексей КА я заценил всю мощь knockout + TypeScript + jQuery + AJAX. Костыли, коих до этого хватало, больше не нужны.

...кстати, версия 3.2.0 вышла у нокаута ....Да, я видел.
...
Рейтинг: 0 / 0
MVVM+DAL+BL правильное применение.
    #38727359
Linkin39
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ
Загубили замечательный проект. WPF умер из-за таких как ты!

Вон в HTML каждый др@чет как хочет и всем наплевать на теоретическую правильность. А тут нет, выискались десяток умников, которые начали всех учить правильно жить. Потому HTML живёт и будет жить, а WPF загнулся. Может оно и к лучшему.

От чего такие суждения? почему WPF загнулся?
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / MVVM+DAL+BL правильное применение.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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