|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Решил проникнуться теорией и написать тестовый 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. Все в бизнес слой? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2015, 22:54 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Артем G- куда запихнуть предпологаемые патерном запихнуть в задний проход ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 01:03 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Изопропилзапихнуть в задний проход иди лесом ... неадекват. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 01:56 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Артем GСоздаю 4 слоя Прежде чем что-то создавать, надо понимать, зачем это нужно, какая роль у каждого слоя, и что в нем будет находиться. Книжку почитай еще раз, плюс какие-нибудь статьи по отличиям MVP, MVC, MVVM, благо их навалом. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 04:44 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Артем GДалее при построении UI на WinForms рекомендуют использовать паттерн MVP не нужен ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 08:29 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
PallarisАртем GСоздаю 4 слоя Прежде чем что-то создавать, надо понимать, зачем это нужно, какая роль у каждого слоя, и что в нем будет находиться. Книжку почитай еще раз, плюс какие-нибудь статьи по отличиям MVP, MVC, MVVM, благо их навалом. Книг и статей уже читано перечитано. Каша в голове. Пора перейти к практике. Я один. Старших товарищей рядом подсказать нет. Вариант один - это форум. kmawАртем GДалее при построении UI на WinForms рекомендуют использовать паттерн MVP не нужен Тогда как правильно создать архитектру? на примере Bookstore с двумя интерфейсами. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 09:29 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Артем GPallarisпропущено... Прежде чем что-то создавать, надо понимать, зачем это нужно, какая роль у каждого слоя, и что в нем будет находиться. Книжку почитай еще раз, плюс какие-нибудь статьи по отличиям MVP, MVC, MVVM, благо их навалом. Книг и статей уже читано перечитано. Каша в голове. Пора перейти к практике. Я один. Старших товарищей рядом подсказать нет. Вариант один - это форум. kmawпропущено... не нужен Тогда как правильно создать архитектру? на примере Bookstore с двумя интерфейсами. WinForms - это партиал-классы форм - часть дизайнер (считай "View"), часть обработчики событий (считай "Controller"). Так что MVC там, можно считать, "из коробки" идёт. Городить еще что-то поверх - лишнее, на мой взгляд ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 09:42 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Артем GТогда как правильно создать архитектру?Критерии правильности? Судя по описанию, хочется отделить прикладную логику от различных UI библиотек - WinForms и ASP MVC. Если так, то вынеси слои Bookstore.DataLayer и Bookstore.BusinessLayer в отдельную DLL-сборку, не зависящую от каких-либо UI библиотек - в результате архитектура выстроится сама собой. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 09:43 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Артем G, какие цели для себя преследуете? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 09:44 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Алексей КАртем GТогда как правильно создать архитектру?Критерии правильности? Судя по описанию, хочется отделить прикладную логику от различных UI библиотек - WinForms и ASP MVC. Если так, то вынеси слои Bookstore.DataLayer и Bookstore.BusinessLayer в отдельную DLL-сборку, не зависящую от каких-либо UI библиотек - в результате архитектура выстроится сама собой.+ покрой тестами процентов на 60 хотя бы ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 09:45 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
+ размести все это в гите (Git) И твоё резюме станет интереснее :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 09:47 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Артем G, и ещё посмотрите на конкурентов: Amazone, Ozon, - у них микросервисная архитектура :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 10:14 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Алексей КСудя по описанию, хочется отделить прикладную логику от различных UI библиотек - WinForms и ASP MVC. Если так, то вынеси слои Bookstore.DataLayer и Bookstore.BusinessLayer в отдельную DLL-сборку, не зависящую от каких-либо UI библиотек - в результате архитектура выстроится сама собой. оно ж работать будет без модных аббревиатур :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 10:38 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
ИзопропилаббревиатурПопрошу не выражаться! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 10:44 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
skyANAАртем G, и ещё посмотрите на конкурентов: Amazone, Ozon, - у них микросервисная архитектура :) Не смешно :) . Лушче б совет какой-нибудь дельный дали начинающему ). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 11:09 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
MVP - это модификация шаблона MVC. Так же, как в MVC, в ней три компонента: - Модель – представляет данные и способы работы с ними. Не содержит информации, как эти данные визуализировать (как в MVC). - Представление – отвечает за отображение информации. - Презентер – действует над моделью и представлением. Извлекает данные из хранилища (Модели) и формирует их для отображения в Представлении. Отличие MVP от MVC: Презентер также отвечает за управление событиями пользовательского интерфейса (типа, MouseDown и т.п.), которое в MVC было заботой Представления. Т.е. все нужные события описываются в интерфейсе Представления и пробрасываются в Презентер, где и обрабатываются, что позволяет вынести из Представления логику их обработки. Т.е. если ты делаешь WinForms-приложение и используешь шаблон MVP, у тебя фактически три слоя, а не четыре. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 11:18 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Артем GBookstore.BusinessLayer что ты туда собрался покласть? и в каком виде? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 11:27 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
hVostt, Проект чисто устаканить то, что прочитано по Архитектектуре приложения. Оформить практическим заданием. Иначе от прочитанного ноль. Или не так? Вот пример теории из книги. Пользователь нажимет кнопку добавить товар > UI > Добавление товара> BusinessLogic > Сколько товара в наличии? > DataLayer > 0 товара в наличии > BusinessLogic > Этот товар не доступен > UI > Пользователь видет сообщение о недоступности товара. Как я понимаю в моем примере с Bookstore первое что создасться справочник Книг. BusinessLogic будет содержать метод добавления книги в базу, проверку свойств на корректность. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 11:49 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
den9000Презентер также отвечает за управление событиями пользовательского интерфейса (типа, MouseDown и т.п.), которое в MVC было заботой Представления. Т.е. все нужные события описываются в интерфейсе Представления и пробрасываются в Презентер, где и обрабатываются, что позволяет вынести из Представления логику их обработки. Я правильно понимаю что между Presenter и BusinessLayer можно поставить знак равенства? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 12:07 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Артем Gden9000Презентер также отвечает за управление событиями пользовательского интерфейса (типа, MouseDown и т.п.), которое в MVC было заботой Представления. Т.е. все нужные события описываются в интерфейсе Представления и пробрасываются в Презентер, где и обрабатываются, что позволяет вынести из Представления логику их обработки. Я правильно понимаю что между Presenter и BusinessLayer можно поставить знак равенства?Нет, если: прикладная логика != логика представления ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 12:14 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Артем G Я правильно понимаю что между Presenter и BusinessLayer можно поставить знак равенства? Presenter и View - это UI-Layer. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 12:14 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Артем GЯ правильно понимаю что между Presenter и BusinessLayer можно поставить знак равенства? Как оттестировать бизнесовую задачу добавления отсутствующего товара? Неужели для этого нужно создавать презентер с вьюхой? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 12:15 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Артем 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. Все в бизнес слой? Читаем несколько раз от корки до корки, потом через полгода перечитываем ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 12:18 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Блин опять читать :) Когда ж наступят светлые времена .... или они это и есть? Почитаю .... надеюсь на просветление. Большое спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 12:57 |
|
Вопрос по архитекутре приложения
|
|||
---|---|---|---|
#18+
Артем GКогда ж наступят светлые временачерез 10000 часов практики, хоть обчитайся до этого ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 13:09 |
|
|
start [/forum/topic.php?fid=20&msg=39139111&tid=1400921]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 306ms |
total: | 452ms |
0 / 0 |