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

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

Слои - это такой метод декомпозиции основной задачи. На подзадачи частично изолированные друг от друга и слабо связанные со своими соседями.
Насколько грандиозная задача, настолько сильно ее можно дробить. Т.е. чтобы понять огра слои нужны, ослу нет. :)
...
Рейтинг: 0 / 0
Слои в архитектуре
    #39301747
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Арсеньев,
Это я и сам могу такими абстракциями и общими понятиями языком чесать сколько угодно, нужен пример в коде, хотя бы отдаленно напоминающим язык программирования.
...
Рейтинг: 0 / 0
Слои в архитектуре
    #39301748
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892,
предпочитаю, чтобы больше думал и работал ТС в вопросе.
Т.е. full stack разработчик?
Сверху донизу писал?
Тогда приводи приемр того что писал и 3 слоя какие знаешь.
ЗЫ
Понимание слоёв приходит тогда, когда уже не первый раз пишешь.
Это как функция. Её не написать если ни разу не использовал.
...
Рейтинг: 0 / 0
Слои в архитектуре
    #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
Слои в архитектуре
    #39301762
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892Прошу вставить сюда 4й слой)))
я не знаю таких. Может проекты такие. Мне пока 3-х хватает.
Если что, то VIEW в самой БД за слой не считаю. А мог бы)).
...
Рейтинг: 0 / 0
Слои в архитектуре
    #39301770
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892хотя бы отдаленно напоминающим язык программирования.

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

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

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

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

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

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

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

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

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

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


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