Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Слои в архитектуре / 25 сообщений из 27, страница 1 из 2
01.09.2016, 10:36
    #39301707
no56892
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
Я вот понимаю когда 2 слоя (GUI + DB) или три, но никак не могу сообразить про 4 слоя и далее. Кто-то здесь говорил про слой валидации. Никак не могу понять как это может выглядеть. Может просто кто-то схематично набросает простенький примерчик? И еще я так понял, что раз, например, слоев 4, то нельзя вызывать из первого четвертый или третий, это так? Что в таком случае делают, когда в каком-то месте два слоя не нужны? Лепят просто метод с вызовом другого слоя или как?
...
Рейтинг: 0 / 0
01.09.2016, 10:56
    #39301722
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
no56892Никак не могу понять как это может выглядеть.
[youtube=
YouTube Video
...
Рейтинг: 0 / 0
01.09.2016, 11:06
    #39301730
no56892
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
А по существу есть что сказать?
...
Рейтинг: 0 / 0
01.09.2016, 11:18
    #39301745
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
no56892,

По моему отрывок из Шрека - самое по существу. Там как раз все и объясняется. Хочешь визуально представить слои - представь себе лук.

Слои - это такой метод декомпозиции основной задачи. На подзадачи частично изолированные друг от друга и слабо связанные со своими соседями.
Насколько грандиозная задача, настолько сильно ее можно дробить. Т.е. чтобы понять огра слои нужны, ослу нет. :)
...
Рейтинг: 0 / 0
01.09.2016, 11:23
    #39301747
no56892
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
Сергей Арсеньев,
Это я и сам могу такими абстракциями и общими понятиями языком чесать сколько угодно, нужен пример в коде, хотя бы отдаленно напоминающим язык программирования.
...
Рейтинг: 0 / 0
01.09.2016, 11:24
    #39301748
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
no56892,
предпочитаю, чтобы больше думал и работал ТС в вопросе.
Т.е. full stack разработчик?
Сверху донизу писал?
Тогда приводи приемр того что писал и 3 слоя какие знаешь.
ЗЫ
Понимание слоёв приходит тогда, когда уже не первый раз пишешь.
Это как функция. Её не написать если ни разу не использовал.
...
Рейтинг: 0 / 0
01.09.2016, 11:27
    #39301757
no56892
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
Petro123,
Вот так у меня обстоит:


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Controller:

@Autowired
protected Service service;

@Path("/xxx")
method doSmth() {
..
service.doSmth();
..
}

Service:
@Autowired
protected SomeRepository1;
@Autowired
protected SomeRepository2;

@Transactional
method doSmth() {
...
}

Ну и репозитори понятно как.



Прошу вставить сюда 4й слой)))
...
Рейтинг: 0 / 0
01.09.2016, 11:31
    #39301762
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
no56892Прошу вставить сюда 4й слой)))
я не знаю таких. Может проекты такие. Мне пока 3-х хватает.
Если что, то VIEW в самой БД за слой не считаю. А мог бы)).
...
Рейтинг: 0 / 0
01.09.2016, 11:35
    #39301770
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
no56892хотя бы отдаленно напоминающим язык программирования.

Слои это размещение задач в твоей голове (ну а потом уже на вычислительных устройствах).

Случилось у тебя так, что к одной БД имеют доступ несколько систем откуда поступают данные. С точки зрения каждой из этих систем все пучком. Но если потом посмотреть на общую картину, то в этой каше не разберешься. Вот и создаешь слой валидации, который проверяет поступающие данные на предмет их консистентности с имеющимися в БД от других систем. И сообщает куда следует, если что не так (ну или правит, дает отлуп, как твоей душе угодно).
...
Рейтинг: 0 / 0
01.09.2016, 11:40
    #39301774
no56892
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
Petro123no56892Прошу вставить сюда 4й слой)))
я не знаю таких. Может проекты такие. Мне пока 3-х хватает.
Если что, то VIEW в самой БД за слой не считаю. А мог бы)).
Я тоже не знаю, поэтому решил задать вопрос.

авторСлои это размещение задач в твоей голове (ну а потом уже на вычислительных устройствах).

Случилось у тебя так, что к одной БД имеют доступ несколько систем откуда поступают данные. С точки зрения каждой из этих систем все пучком. Но если потом посмотреть на общую картину, то в этой каше не разберешься. Вот и создаешь слой валидации, который проверяет поступающие данные на предмет их консистентности с имеющимися в БД от других систем. И сообщает куда следует, если что не так (ну или правит, дает отлуп, как твоей душе угодно).
Что-то мне подсказывает, что валидация - не об этом. Ну и пример тоже хотелось бы. Прямо вот четыре слоя, как по фэн-шую!
...
Рейтинг: 0 / 0
01.09.2016, 11:45
    #39301781
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
no56892Что-то мне подсказывает, что валидация - не об этом.

А некоторые считают, что слой валидации это constraints в СУБД. И цитируя класику
- И ты прав. :)
...
Рейтинг: 0 / 0
01.09.2016, 11:50
    #39301786
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
no56892Что-то мне подсказывает, что валидация - не об этом
валидация это обязанность фреймворка. Слишком узко для слоя.
Пускай это будут прослойки жира в мраморном мясе РИБАЙ.
...
Рейтинг: 0 / 0
01.09.2016, 11:51
    #39301788
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
no56892,
Ну, например, вот хороший материал по теме
http://rsdn.org/forum/design/2097068
картинки там сейчас не видно. Вот она
...
Рейтинг: 0 / 0
01.09.2016, 11:53
    #39301789
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
...
Рейтинг: 0 / 0
01.09.2016, 11:58
    #39301796
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
Blazkowicz,

Так ТС и не видит, куда ему Валидацию вставить на этом рисунке. :)
Со всем остальным он более-менее разобрался.
...
Рейтинг: 0 / 0
01.09.2016, 12:44
    #39301842
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
no56892Я вот понимаю когда 2 слоя (GUI + DB) или три, но никак не могу сообразить про 4 слоя и далее. Кто-то здесь говорил про слой валидации. Никак не могу понять как это может выглядеть. Может просто кто-то схематично набросает простенький примерчик? И еще я так понял, что раз, например, слоев 4, то нельзя вызывать из первого четвертый или третий, это так? Что в таком случае делают, когда в каком-то месте два слоя не нужны? Лепят просто метод с вызовом другого слоя или как?
Я бы предложил на секундочку отложить слои в сторону и изучить проблему с другой стороны. Другая сторона называется Coupling & Cohesion.
Можно начать отсюда
https://en.wikipedia.org/wiki/GRASP_(object-oriented_design)
И дальше читать статьи в вики по этим отдельным терминам.

Так, вот. Нарушение этих принципов приводит к увеличению связей между элементами системы. Как результат, каждое небольшое изменения в требованиях к проекту приводит к лавинному изменению в множестве элементов системы.

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

Когда разберешься с этим - поймешь зачем вообще нужны слои. И тогда вопросов как их организовать станет меньше.
...
Рейтинг: 0 / 0
01.09.2016, 16:24
    #39302126
17-77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
валидация - это серенькое слева по вертикали, в районе оранжевого и синего, и в определенной степени зеленого
...
Рейтинг: 0 / 0
01.09.2016, 16:27
    #39302131
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
17-77это серенькое слева по вертикали, в районе оранжевого и синего, и в определенной степени зеленого
Задорнов?
"...видишь там серенькое голубеет?" ))
...
Рейтинг: 0 / 0
01.09.2016, 16:40
    #39302145
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
17-77валидация - это серенькое слева по вертикали, в районе оранжевого и синего, и в определенной степени зеленого
Всё сильно зависит от системы.
Валидация пользовательского ввода, это, очевидно правила, реализованные на уровне UI.
Валидация данных поступающих через серверный API это, очевидно, другой слой, близкий к MVC контроллеру.
Валидация целостности данных БД вообще реализована констрейнтами. Тоже отдельный уровень абстракции.
...
Рейтинг: 0 / 0
04.09.2016, 19:32
    #39303420
fsharp_fsharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
валидация часто очень "смешана" с бизнес-логикой: сегодня корректность поля по регулярке, завтра хитрые условия, проверка которых не возможна без обращения к БД. вывод - лучше всю валидацию туда же, где и бизнес-логика
...
Рейтинг: 0 / 0
04.09.2016, 19:35
    #39303422
fsharp_fsharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
BlazkowiczВалидация пользовательского ввода, это, очевидно правила, реализованные на уровне UI.

очень спорное утверждение. как вариант, при оптимизации UI, чтобы он был более отзывчивым на ошибки. но это, по сути, - дублирование кода
...
Рейтинг: 0 / 0
07.09.2016, 13:47
    #39305194
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
вот такую многослойность вижу
далеко далеко например в Москве стоит БД доступ к ней через SOAP
на Камчатке стоит сервак который выкачивает данные из Москвы
и кладет в БД на Камчатке для кэша. к БД на Камчатке прикручен Web для просмотра клиентом
который может обрабатывать отображать данные как через SOAP из Москвы так и из БД на Камчатке
как-то так
короче если между БД и Web сервером поставить доступ через Web службы уже 3 слоя получается
плюс слой клиента для которого могут быть спец службы развернуты
например REST для работы extjs
...
Рейтинг: 0 / 0
07.09.2016, 13:51
    #39305202
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
fsharp_fsharpно это, по сути, - дублирование кода
Которого не сложно избежать, если иметь единый codebase для клиента и сервера.
...
Рейтинг: 0 / 0
07.09.2016, 13:52
    #39305205
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
bochkovвот такую многослойность вижу
Вы путаете layer и tier.
...
Рейтинг: 0 / 0
07.09.2016, 15:34
    #39305285
no56892
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слои в архитектуре
Я так понял, что одно из обязательных правил слоев - нельзя вызвать A->D, нужно A->B->C->D, иначе и не слой это вовсе. ТОгда у меня вопрос про слой кэширования. Из этого следует, что все, что находится за слоем кеширования не может юыть вызвано без него. А если где-то (очень часто такое случается) нужно и из кеша а где-то нет, как тогда?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Слои в архитектуре / 25 сообщений из 27, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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