Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос по архитекутре приложения / 25 сообщений из 52, страница 1 из 3
27.12.2015, 22:54
    #39138967
Артем G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Решил проникнуться теорией и написать тестовый Bookstore. UI будет на WinForms, а затем ASP.Net MVC.

Открываю книжки / интернет и читаю что лучший вариант при создании приложения - это разделить приложение на слои.
Далее при построении UI на WinForms рекомендуют использовать паттерн MVP. Когда читаешь об MVP, то видешь пример, как люди ловкого его используют и для MVC. Когда читаешь об MVC, то не встретишь примеров использования MVP.

Так как первым UI будет WinForms, то решаю придерживаться паттерна MVP, а когда дойдет дело до MVC подумаю как прикрутить наработанное. ОК, все доводы в пользу слоев и MPV услышаны и приступаю к разработке.

Создаю 4 слоя Bookstore.DataLayer, Bookstore.BusinessLayer, Bookstore.WinForms, Bookstore.Mvc.

В DataLayer создержаться EF модели и контекст.

И тут возникают вопрос:
- куда запихнуть предпологаемые патерном MVP Model, View, Presenter. Все в бизнес слой?
...
Рейтинг: 0 / 0
28.12.2015, 01:03
    #39138992
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Артем G- куда запихнуть предпологаемые патерном
запихнуть в задний проход
...
Рейтинг: 0 / 0
28.12.2015, 01:56
    #39139005
Артем G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Изопропилзапихнуть в задний проход
иди лесом ... неадекват.
...
Рейтинг: 0 / 0
28.12.2015, 04:44
    #39139009
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Артем GСоздаю 4 слоя

Прежде чем что-то создавать, надо понимать, зачем это нужно, какая роль у каждого слоя, и что в нем будет находиться. Книжку почитай еще раз, плюс какие-нибудь статьи по отличиям MVP, MVC, MVVM, благо их навалом.
...
Рейтинг: 0 / 0
28.12.2015, 08:29
    #39139041
kmaw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Артем GДалее при построении UI на WinForms рекомендуют использовать паттерн MVP

не нужен
...
Рейтинг: 0 / 0
28.12.2015, 09:29
    #39139065
Артем G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
PallarisАртем GСоздаю 4 слоя

Прежде чем что-то создавать, надо понимать, зачем это нужно, какая роль у каждого слоя, и что в нем будет находиться. Книжку почитай еще раз, плюс какие-нибудь статьи по отличиям MVP, MVC, MVVM, благо их навалом.

Книг и статей уже читано перечитано. Каша в голове. Пора перейти к практике. Я один. Старших товарищей рядом подсказать нет. Вариант один - это форум.

kmawАртем GДалее при построении UI на WinForms рекомендуют использовать паттерн MVP

не нужен

Тогда как правильно создать архитектру? на примере Bookstore с двумя интерфейсами.
...
Рейтинг: 0 / 0
28.12.2015, 09:42
    #39139078
kmaw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Артем GPallarisпропущено...


Прежде чем что-то создавать, надо понимать, зачем это нужно, какая роль у каждого слоя, и что в нем будет находиться. Книжку почитай еще раз, плюс какие-нибудь статьи по отличиям MVP, MVC, MVVM, благо их навалом.

Книг и статей уже читано перечитано. Каша в голове. Пора перейти к практике. Я один. Старших товарищей рядом подсказать нет. Вариант один - это форум.

kmawпропущено...


не нужен

Тогда как правильно создать архитектру? на примере Bookstore с двумя интерфейсами.

WinForms - это партиал-классы форм - часть дизайнер (считай "View"), часть обработчики событий (считай "Controller"). Так что MVC там, можно считать, "из коробки" идёт. Городить еще что-то поверх - лишнее, на мой взгляд
...
Рейтинг: 0 / 0
28.12.2015, 09:43
    #39139080
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Артем GТогда как правильно создать архитектру?Критерии правильности?

Судя по описанию, хочется отделить прикладную логику от различных UI библиотек - WinForms и ASP MVC. Если так, то вынеси слои Bookstore.DataLayer и Bookstore.BusinessLayer в отдельную DLL-сборку, не зависящую от каких-либо UI библиотек - в результате архитектура выстроится сама собой.
...
Рейтинг: 0 / 0
28.12.2015, 09:44
    #39139084
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Артем G, какие цели для себя преследуете?
...
Рейтинг: 0 / 0
28.12.2015, 09:45
    #39139086
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Алексей КАртем GТогда как правильно создать архитектру?Критерии правильности?

Судя по описанию, хочется отделить прикладную логику от различных UI библиотек - WinForms и ASP MVC. Если так, то вынеси слои Bookstore.DataLayer и Bookstore.BusinessLayer в отдельную DLL-сборку, не зависящую от каких-либо UI библиотек - в результате архитектура выстроится сама собой.+ покрой тестами процентов на 60 хотя бы
...
Рейтинг: 0 / 0
28.12.2015, 09:47
    #39139090
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
+ размести все это в гите (Git)

И твоё резюме станет интереснее :)
...
Рейтинг: 0 / 0
28.12.2015, 10:14
    #39139111
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Артем G, и ещё посмотрите на конкурентов: Amazone, Ozon, - у них микросервисная архитектура :)
...
Рейтинг: 0 / 0
28.12.2015, 10:38
    #39139125
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Алексей КСудя по описанию, хочется отделить прикладную логику от различных UI библиотек - WinForms и ASP MVC. Если так, то вынеси слои Bookstore.DataLayer и Bookstore.BusinessLayer в отдельную DLL-сборку, не зависящую от каких-либо UI библиотек - в результате архитектура выстроится сама собой.
оно ж работать будет без модных аббревиатур :)
...
Рейтинг: 0 / 0
28.12.2015, 10:44
    #39139129
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
ИзопропилаббревиатурПопрошу не выражаться!
...
Рейтинг: 0 / 0
28.12.2015, 11:09
    #39139138
Артем G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
skyANAАртем G, и ещё посмотрите на конкурентов: Amazone, Ozon, - у них микросервисная архитектура :)

Не смешно :) . Лушче б совет какой-нибудь дельный дали начинающему ).
...
Рейтинг: 0 / 0
28.12.2015, 11:18
    #39139141
den9000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
MVP - это модификация шаблона MVC. Так же, как в MVC, в ней три компонента:
- Модель – представляет данные и способы работы с ними. Не содержит информации, как эти данные визуализировать (как в MVC).
- Представление – отвечает за отображение информации.
- Презентер – действует над моделью и представлением. Извлекает данные из хранилища (Модели) и формирует их для отображения в Представлении.

Отличие MVP от MVC: Презентер также отвечает за управление событиями пользовательского интерфейса (типа, MouseDown и т.п.), которое в MVC было заботой Представления. Т.е. все нужные события описываются в интерфейсе Представления и пробрасываются в Презентер, где и обрабатываются, что позволяет вынести из Представления логику их обработки.

Т.е. если ты делаешь WinForms-приложение и используешь шаблон MVP, у тебя фактически три слоя, а не четыре.
...
Рейтинг: 0 / 0
28.12.2015, 11:27
    #39139151
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Артем GBookstore.BusinessLayer

что ты туда собрался покласть? и в каком виде?
...
Рейтинг: 0 / 0
28.12.2015, 11:49
    #39139174
Артем G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
hVostt,

Проект чисто устаканить то, что прочитано по Архитектектуре приложения. Оформить практическим заданием. Иначе от прочитанного ноль. Или не так?

Вот пример теории из книги.
Пользователь нажимет кнопку добавить товар > UI > Добавление товара> BusinessLogic > Сколько товара в наличии? > DataLayer > 0 товара в наличии > BusinessLogic > Этот товар не доступен > UI > Пользователь видет сообщение о недоступности товара.


Как я понимаю в моем примере с Bookstore первое что создасться справочник Книг. BusinessLogic будет содержать метод добавления книги в базу, проверку свойств на корректность.
...
Рейтинг: 0 / 0
28.12.2015, 12:07
    #39139197
Артем G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
den9000Презентер также отвечает за управление событиями пользовательского интерфейса (типа, MouseDown и т.п.), которое в MVC было заботой Представления. Т.е. все нужные события описываются в интерфейсе Представления и пробрасываются в Презентер, где и обрабатываются, что позволяет вынести из Представления логику их обработки.


Я правильно понимаю что между Presenter и BusinessLayer можно поставить знак равенства?
...
Рейтинг: 0 / 0
28.12.2015, 12:14
    #39139201
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Артем Gden9000Презентер также отвечает за управление событиями пользовательского интерфейса (типа, MouseDown и т.п.), которое в MVC было заботой Представления. Т.е. все нужные события описываются в интерфейсе Представления и пробрасываются в Презентер, где и обрабатываются, что позволяет вынести из Представления логику их обработки.


Я правильно понимаю что между Presenter и BusinessLayer можно поставить знак равенства?Нет, если:

прикладная логика != логика представления
...
Рейтинг: 0 / 0
28.12.2015, 12:14
    #39139202
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Артем G
Я правильно понимаю что между Presenter и BusinessLayer можно поставить знак равенства?

Presenter и View - это UI-Layer.
...
Рейтинг: 0 / 0
28.12.2015, 12:15
    #39139204
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Артем GЯ правильно понимаю что между Presenter и BusinessLayer можно поставить знак равенства?

Как оттестировать бизнесовую задачу добавления отсутствующего товара? Неужели для этого нужно создавать презентер с вьюхой?
...
Рейтинг: 0 / 0
28.12.2015, 12:18
    #39139206
RocknRolla
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Артем GРешил проникнуться теорией и написать тестовый Bookstore. UI будет на WinForms, а затем ASP.Net MVC.
Это разные архитипы приложений

Артем GКогда читаешь об MVP, то видешь пример, как люди ловкого его используют и для MVC.

Ещё раз, это разные архитипы приложений.
@Нельзя вот так просто взять и выделить компонент логики представления, и заменить архитип

Артем GТак как первым UI будет WinForms, то решаю придерживаться паттерна MVP, а когда дойдет дело до MVC подумаю как прикрутить наработанное. ОК, все доводы в пользу слоев и MPV услышаны и приступаю к разработке.


Первым делом изучаем паттерн посредник (mediator GoF)
Далее принцип separation of concerns ( в нагрузку srp, ocp)
А после изучаем структурные шаблоны организации пользовательского интерфейса MVC, MVP, MVVM и MVP-VM.

Артем G- куда запихнуть предпологаемые патерном MVP Model, View, Presenter. Все в бизнес слой?

Читаем несколько раз от корки до корки, потом через полгода перечитываем
...
Рейтинг: 0 / 0
28.12.2015, 12:57
    #39139237
Артем G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Блин опять читать :) Когда ж наступят светлые времена .... или они это и есть?
Почитаю .... надеюсь на просветление. Большое спасибо.
...
Рейтинг: 0 / 0
28.12.2015, 13:09
    #39139246
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитекутре приложения
Артем GКогда ж наступят светлые временачерез 10000 часов практики, хоть обчитайся до этого
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос по архитекутре приложения / 25 сообщений из 52, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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