|
|
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
Парамон...Нет сомнений, что работа приложения, больше зависит от прямоты рук, чем от выбора архитектуры. Не могу не согласиться. Вот только в данном конкретном случае, заменил бы слово "архитектура", на "аббревиатура". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 22:29 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
ShSergeПарамон...Нет сомнений, что работа приложения, больше зависит от прямоты рук, чем от выбора архитектуры. Не могу не согласиться. Вот только в данном конкретном случае, заменил бы слово "архитектура", на "аббревиатура". Друзья, вы бы поаккуратней со словом "архитектура". А то блуждающие по форуму неокрепшие (точнее разжиженные) умы подумают, что можно забить еще и на (во всех проявлениях) архитектуру - на остальное уже, похоже давно, забили). . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 22:50 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
Автору читать "Руководство MICROSOFT по проектированию архитектуры приложений (2-е издание)", остальным прекратить разводить споры на пустом месте! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 00:35 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
skyANAАвтору читать "Руководство MICROSOFT по проектированию архитектуры приложений (2-е издание)", остальным прекратить разводить споры на пустом месте! :) руководство я читал, начиная еще с первой редакции, как только сайт открыли в 2010 они на семинаре о нем рассказывали буквально на следующий день, и я был там 30-м зарегистрированным человеком... :) пока не помогло от абстракций перейти к конкретике. попалась сегодня в msdn magazine статья - http://msdn.microsoft.com/ru-ru/magazine/hh456393.aspx . Обкурю пока ее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 10:38 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
a_titeevskyANAАвтору читать "Руководство MICROSOFT по проектированию архитектуры приложений (2-е издание)", остальным прекратить разводить споры на пустом месте! :) руководство я читал, начиная еще с первой редакции, как только сайт открыли в 2010 они на семинаре о нем рассказывали буквально на следующий день, и я был там 30-м зарегистрированным человеком... :) пока не помогло от абстракций перейти к конкретике. попалась сегодня в msdn magazine статья - http://msdn.microsoft.com/ru-ru/magazine/hh456393.aspx . Обкурю пока ее... Прочитал статейку. Создалось такое впечатление, что Дино Эспозито никогда реально не работал с БД. Типа, теоретик. А когда ему работать? Тогда не хватит времени, чтобы писать книшки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 11:01 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
ShSergeСоздалось такое впечатление, что Дино Эспозито никогда реально не работал с БД. Типа, теоретик. Конкретнее, на основе чего создалось такое "впечатление"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 11:11 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
ShSergea_titeevпропущено... руководство я читал, начиная еще с первой редакции, как только сайт открыли в 2010 они на семинаре о нем рассказывали буквально на следующий день, и я был там 30-м зарегистрированным человеком... :) пока не помогло от абстракций перейти к конкретике. попалась сегодня в msdn magazine статья - http://msdn.microsoft.com/ru-ru/magazine/hh456393.aspx . Обкурю пока ее... Прочитал статейку. Создалось такое впечатление, что Дино Эспозито никогда реально не работал с БД. Типа, теоретик. А когда ему работать? Тогда не хватит времени, чтобы писать книшки. насколько знаю работал архитектором ПО в компании IDesign. так что отчасти может так и есть - Архитектор ПО все таки больше теоретик :) хотя судя по количеству статей и книг где он автор или соавтор его компетентность думаю обсуждать не стоит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 11:30 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
МСУShSergeСоздалось такое впечатление, что Дино Эспозито никогда реально не работал с БД. Типа, теоретик. Конкретнее, на основе чего создалось такое "впечатление"? Я о том и говорю, что надо бы что-то на конкретном примере показать. А Вы что, тоже теоретик? ПС. Разбанили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 11:32 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
ShSergeМСУ в топке...Сразу оговорюсь, в базе данных ей не место... Вы офонарели? Майкрософт с самого начала писал, что именно в БД бизнеслогике место. С тех пор инструменты и технология только улучшилась. Теперь почти обо всех БД так пишут. За исключением, конечно некоторых, которые явно на любителя. Полностью поддерживаю Будь то веб-приложение или программа - она всего лишь представление в отношении к БД (вьюшка, если хотите) Бизнес-логика в правильных проектах содержится в БД, программа же передает в хранимки данные и читает их оттуда, + предоставляет удобный интерфейс по манипулированию данными Также не смотря на то что в БД есть куча ограничителей - в программе также все данные должны подготавливаться, проверяться и т.д., чтобы БД не тратила время на лишние проверки (хотя это уже совсем левая тема) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 11:56 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
Предлогаю всетаки продолжить обсуждение архитектуры, ибо чтение брошурок действительно многих запутывает. Но тем кто вникал, а не желающим потроллить. Хранимки можно обсудить на форуме db. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 12:02 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
ПарамонНо тем кто вникал, а не желающим потроллить. Хранимки можно обсудить на форуме db. Не нужно обсуждать хранимки Все зависит от типа проекта К примеру, у меня есть 30 проектов, где часть логики - просто тупо сайт, часть - базнес приложение Все что связано с бизнес приложением - работает исключительно в БД, т.к. в одной операции может быть до десятков (если не сотен) тысяч чтений БД, и я просто не представляю возможности эту логику реализовывать в коде сайта, т.к. тянуть данные на сайт нет смысла, раз их не выводим даже А вот все что сязано с сайтом (вывести сообщение, лог операций, аватарочку, иерархию, новости) - другое дело, т.к. бессмысленно создавать хранимку на запрост списка новостей, т.к. это просто тупо запрос, + ORM-ы в помощь приходят Я не считаю что действительно нужно все делать в БД, это не панацея от всех проблем, но если хранимки БД сокращают время разработки и время обновления логики (без обновления приложения), то это самое то. Предположим - есть в бизнес-логике ошибка, а у нас 50 тыс. клиентов, что делать? Всем обновлять программу? Конечно автоапдейт поможет, но он тоже не панацея, + обновление по тем или иным причинам может не пройти. Правильный вариант - исправить хранимку в базе и у всех моментально ошибка изчезнет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 12:11 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
SanSYS, И что? Вместо(в дополнение) базы не может выступить апп сервер? И как часто на практике, изменения в базе, не требуют изменений в остольных слоях? Многослойная архитектура с логикой в приложении, имеет прово на жизнь (как минимум), и автор, выбрал именно этот подход, а вы продолжаете навязывать ему другие решения, которые тоже далеки от идеала (бо такового нет в природе ПО). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 12:54 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
ПарамонSanSYS, И что? Вместо(в дополнение) базы не может выступить апп сервер? И как часто на практике, изменения в базе, не требуют изменений в остольных слоях? Многослойная архитектура с логикой в приложении, имеет прово на жизнь (как минимум), и автор, выбрал именно этот подход, а вы продолжаете навязывать ему другие решения, которые тоже далеки от идеала (бо такового нет в природе ПО). Я же написал, что "Я не считаю что действительно нужно все делать в БД, это не панацея от всех проблем, но если хранимки БД сокращают время разработки и время обновления логики (без обновления приложения), то это самое то." В моем случае, кстати, изменения в логике обработки данных никак не заставляют меня лезть и перекомпилировать приложение Многослойная архитектура гуд, и по рукам бить того, кто держит все в каше (т.е. отсутствие разделения уровней данных, логики, представления и т.п.) Но и по рукам бить того, кто в коде сайта будет стягивать миллионы записей из удаленной БД чтобы провести какие-то действия/проверки, иерархично что-то обновить и запихнуть все это обратно в базу Я за логичное использование предоставляемых возможностей: если есть возможность реально сократить время работы/разработки при помощи перенесения части логики непосредственно в БД, то я только за Если это ничем не оправдано - то нахер не нужно Один раз выбрать один метод/путь и всегда следовать ему - это для баранов, к каждой задаче (проекту) нужно подходить индивидуально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 13:08 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
SanSYSНо и по рукам бить того, кто в коде сайта будет стягивать миллионы записей из удаленной БД чтобы провести какие-то действия/проверки, иерархично что-то обновить и запихнуть все это обратно в базу Каким образом "стягивание миллиона записей с БД" коррелирует с размещением бизнес-слоя в Application Tier? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 13:27 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
SanSYS, Здесь правило очень простое, каждый селект (лучше и здесь использовать х-ые процедуры с разрешением) должен выводить те и (!) только те данные, которые прямо сейчас у меня на странице. Некоторые могут не быть перед глазами (айдишники, например), но на странице присутствовать. Всякие изменения в базе - исключительно х-ыми процедурами. Это даже не обсуждается. Ни у какого (!) пользователя не должно быть доступа к изменению данных. Разве что, доступ к использованию каких-то конкретных хранимых процедур. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 13:39 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
ShSergeВсякие изменения в базе - исключительно х-ыми процедурами. Это даже не обсуждается. Ни у какого (!) пользователя не должно быть доступа к изменению данных. Разве что, доступ к использованию каких-то конкретных хранимых процедур. Вся власть Сисьадминам! За несанкционированный доступ расстрел на месте ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 13:53 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
Парамон...За несанкционированный доступ расстрел на месте ) В этом контексте - расстрел сисадмина. Однозначно! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 14:01 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
Предлогаю фанатам хранимок, провести акцию протеста у центрального офиса MS, направленную против политики расслоения системы и выноса логики из базы. Если не обратят внимание, облить себя бензином, их жертва не будет напрасной ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 14:12 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
Microsoft Application Architecture Guide, 2nd Edition Глава: Обзор основных архитектурных стилей В следующей таблице приводится список типовых архитектурных стилей, рассматриваемых в данной главе, и дается краткое описание каждого из них. В последующих разделах главы все эти стили обсуждаются подробно, а также даются рекомендации по выбору соответствующих стилей для конкретного приложения ... Читаем и не насилуем население форума. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 14:17 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
Заключение "фанатам хранимок": Microsoft Application Architecture Guide, 2nd EditionТем не менее, традиционная говно 2-уровневая архитектура клиент/сервер имеет множество недостатков, включая тенденцию тесного связывания данных и бизнес-логики приложения на сервере, что может иметь негативное влияние на расширяемость и масштабируемость системы, и зависимость от центрального сервера, что негативно сказывается на надежности системы. Для решения этих проблем архитектурный стиль клиент/сервер был развит в более универсальный 3-уровневый (или N-уровневый) , описываемый ниже, в котором устранены некоторые недостатки, свойственные 2-уровневой архитектуре клиент/сервер, и обеспечиваются дополнительные преимущества. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 14:21 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
Чтоб не было путаницы на счет "Клиент/сервер": Архитектурный стиль/парадигма Клиент/сервер Система разделяется на два приложения, где клиент выполняет запросы к серверу. Во многих случаях в роли сервера выступает база данных, а логика приложения представлена процедурами хранения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 14:24 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
МСУ Microsoft Application Architecture Guide, 2nd Edition Глава: Обзор основных архитектурных стилей В следующей таблице приводится список типовых архитектурных стилей, рассматриваемых в данной главе, и дается краткое описание каждого из них. В последующих разделах главы все эти стили обсуждаются подробно, а также даются рекомендации по выбору соответствующих стилей для конкретного приложения ... Читаем и не насилуем население форума. Ознакомлюсь обязательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 14:35 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
ShSergeSanSYS, Здесь правило очень простое, каждый селект (лучше и здесь использовать х-ые процедуры с разрешением) должен выводить те и (!) только те данные, которые прямо сейчас у меня на странице. Некоторые могут не быть перед глазами (айдишники, например), но на странице присутствовать. Всякие изменения в базе - исключительно х-ыми процедурами. Это даже не обсуждается. Ни у какого (!) пользователя не должно быть доступа к изменению данных. Разве что, доступ к использованию каких-то конкретных хранимых процедур. Согласен. Но сейчас у меня несколько бизнес-проектов, где пользователи постоянно обновляют записи в БД. По ночам идут сложные пересчеты, обрабатываются гигабайты данных, я даже боюсь представить как все обрабатывалось бы в приложении, а не в БД ) Это я опять к тому, что все подряд обрабатывать в приложении не стоит (или даже нельзя), когда десятки тысяч пользователей имеют дело с огромной общей постоянно обновляемой (и возрастающей) БД ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 14:40 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
SanSYSНо сейчас у меня несколько бизнес-проектов, где пользователи постоянно обновляют записи в БД.То есть данные только ручками заносятся в БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 14:49 |
|
||
|
MVC. Многослойная архитектура.
|
|||
|---|---|---|---|
|
#18+
ПарамонПредлогаю всетаки продолжить обсуждение архитектуры, ибо чтение брошурок действительно многих запутывает. Но тем кто вникал, а не желающим потроллить. Хранимки можно обсудить на форуме db. абсолютно согласен. не хотелось бы здесь это обсуждать, если честно. бизнес-логика в приложении... и для этого есть определенные предпосылки, которые изложены в соответствующих источниках. поэтому как раз на эту тему холивара не хотелось бы... да и хранимки, да вьюхи никто собственно то и не отменяет. использовать их видимо и можно и нужно... только конкретно архитектуры это мало касается. сейчас присмотрелся к ProDinner - ASP.NET MVC Sample . что-то обошел проект как-то стороной ранее. а между тем многие аспекты расслоения архитектуры там отражены. итак, что мы там имеем: 1. core - модели предметной области, интерфейсы репозиториев и сервисов. 2. data - dal, реализация репозиториев и контекст данных. 3. service - реализация сервисов. 4. прослойка IoC, вынесеная отдельно (?). 5. отдельный проект WebUI - просто MVC-приложение с view-моделями, а также неким mapper - видимо то о чем я и подумал ранее в одном из предыдущих постов - трансляция модели предметной области во view-модель. собственно, почти то, что я хотел увидеть, хотя в подробностях пока не смотрел - нет времени - буду позже разбираться... ну а что до сквозного функционала, то через ActionFilterAttribute и так все сделано - и протоколирование, авторизация, кэширование. вообще так удобно складывается, так как у меня еще часть логики вынесена в отдельные рабочие процессы на автомате, как раз эта логика удачно укладывается в core. поясню - у меня есть тендерные и аукционные торги, процедура их закрытия автоматическая и довольно нелинейная. а к тому же, есть вообще отдельные web-сервисы для взаимодействия с внешними системами. они будут отдельным приложением, но работать с core... вроде логично все получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2012, 15:02 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37693485&tid=1359827]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
202ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 542ms |

| 0 / 0 |
