Техника архитектурной отмывки. Отмывка архитектурной детали
Государственное бюджетное профессиональное образовательное учреждение
Краснодарского края
«Краснодарский архитектурно-строительный техникум»
ТЕМА:ТЕХНИКА АРХИТЕКТУРНОЙ
ОТМЫВКИ.
ОТМЫВКА АРХИТЕКТУРНОЙ ДЕТАЛИ
Преподаватель архитектурных
дисциплин
Пронько Елена Владимировна
2. ЦЕЛИ УРОКА:
Образовательные:– изучение техники архитектурной отмывки;
– формирование навыков создания светотеневой
моделировки архитектурной формы с соблюдением всех
закономерностей воздушной перспективы;
– выполнение отмывки плоскости, геометрических тел,
архитектурной детали;
Развивающие:
– развитие пространственного воображения;
– развитие навыков самооценивания, самостоятельной
деятельности;
Воспитательные:
– воспитание любви к избранной профессии;
– формирование ответственности при выполнении задания,
организованности, точности;
– развитие умения самостоятельно мыслить;
3.
ОТМЫВКА – это светотеневая моделировка изображения объекта или его деталей с соблюдением всех закономерностей воздушнойОТМЫВКА – ЭТО СВЕТОТЕНЕВАЯ МОДЕЛИРОВКАИЗОБРАЖЕНИЯ ОБЪЕКТА ИЛИ ЕГО ДЕТАЛЕЙ С
СОБЛЮДЕНИЕМ ВСЕХ ЗАКОНОМЕРНОСТЕЙ
ВОЗДУШНОЙ ПЕРСПЕКТИВЫ, ТОЧНОЙ
КОНСТРУКТИВНОЙ И ПЛАСТИЧЕСКОЙ ОСНОВЫ
АРХИТЕКТУРНОЙ ФОРМЫ.
МАТЕРИАЛЫ И ИНСТРУМЕНТЫ
ДЛЯ ОТМЫВКИ:
•Обтянутый бумагой подрамник 40х60
•Бумага прочная, фактурная («ватман»,
«торшон»)
•Тушь черная
•3-5 круглых кистей (беличьи,
колонковые) №8-14;15-20
•3-5 пластиковых стаканов для
растворов различной концентрации
•Палитра
•Фильтры
•Салфетки
4. Отмывка – особый вид графики, заключающийся в многократном нанесении красочного слоя (раствора) для моделирования объемной
ОТМЫВКА – ОСОБЫЙ ВИД ГРАФИКИ, ЗАКЛЮЧАЮЩИЙСЯВ МНОГОКРАТНОМ НАНЕСЕНИИ КРАСОЧНОГО СЛОЯ
(РАСТВОРА) ДЛЯ МОДЕЛИРОВАНИЯ ОБЪЕМНОЙ ФОРМЫ
ПОСЛЕДОВАТЕЛЬНОСЬ ВЫПОЛНЕНИЯ ОТМЫВКИ:
Выбор бумаги с прочной фактурной поверхностью, выдерживающей
многократное смачивание. Затем бумага натягивается на подрамник.
Перед отмывкой все чертежи полностью завершаются и обводятся тонкой линией
разведенной водостойкой тушью.
Приготовление базового раствора туши. Растворы фильтруются дважды.
Убедившись в чистоте раствора, его переливают во флакон и хранят в
холодильнике, ибо это скоропортящееся органическое вещество.
Приготовление рабочих растворов также требует стерильности посуды и
остальных средств (кистей). Для отмывки должны быть приготовлены по
меньшей мере три стакана: два для приготовленных растворов разной
насыщенности и один — для чистой воды.
Поверхность подрамника с чертежом, предназначенным для отмывки
промывается кистью с чистой водой. Подрамник устанавливается с наклоном
10—20°.
5. 1. НЕОБХОДИМО Предварительно опробовать чистоту и интенсивность раствора на пробном листе бумаги и состояние кисти. 2. Начинать
ТЕХНИКА АРХИТЕКТУРНОЙОТМЫВКИ
1. НЕОБХОДИМО ПРЕДВАРИТЕЛЬНО ОПРОБОВАТЬ
ЧИСТОТУ И ИНТЕНСИВНОСТЬ РАСТВОРА НА
ПРОБНОМ ЛИСТЕ БУМАГИ И СОСТОЯНИЕ КИСТИ.
2. НАЧИНАТЬ ОТМЫВКУ НУЖНО СО СВЕТЛОГО
РАСТВОРА (ОТМЫВКА «СЛЕЗОЙ»).
3. НЕ ПЕРЕХОДЯ ЗА ГРАНИЦЫ ОТМЫВАЕМОГО
УЧАСТКА, КИСТЬЮ ПО ВСЕМУ ФРОНТУ
ГОРИЗОНТАЛЬНОГО КОНТУРА НАНОСИТСЯ РАСТВОР
ТУШИ, ЖЕЛАТЕЛЬНО С ЗУБЧАТОЙ КОНФИГУРАЦИЕЙ
НИЖНЕГО КРАЯ, ЧТОБЫ РАСТВОР РАВНОМЕРНО
РАСПРЕДЕЛЯЛСЯ ПО ЗУБЦАМ. ЭТА ЗУБЧАТАЯ ЛИНИЯ
ВАЛИКА ДОЛЖНА ПОСТЕПЕННО ПРОДВИГАТЬСЯ
ВНИЗ ПАРАЛЛЕЛЬНО САМОЙ СЕБЕ КИСТЬЮ,
КОТОРОЙ ВРЕМЯ ОТ ВРЕМЕНИ ПОПОЛНЯЕТСЯ
ВАЛИК РАСТВОРА.
6. ГРАФИЧЕСКАЯ РАБОТА №1 ТЕХНИКА ОТМЫВКИ
ЦЕЛЬ РАБОТЫ:ЗНАКОМСТВО С НОВЫИ ВИДОМ ГРАФИКИ – АРХИТЕКТУРНОЙ
ОТМЫВКОЙ
ОВЛАДЕНИЕ ТЕХНИКОЙ ОТМЫВКИ ПЛОСКИХ ПОВЕРХНОСТЕЙ
ОВЛАДЕНИЕ ТЕХНИКОЙ ОТМЫВКИ КРИВОЛИНЕЙНЫХ ПОВЕРХНОСТЕЙ
ОВЛАДЕНИЕ ТЕХНИКОЙ ОТМЫВКИ ГРАННЫХ ГЕОМЕТРИЧЕСКИХ ТЕЛ
ОВЛАДЕНИЕ ТЕХНИКОЙ ОТМЫВКИ ТЕЛ ВРАЩЕНИЯ
7. МЕТОДЫ ОТМЫВКИ
Метод равномерной отмывки. Заливка выполняется кистью № 20 напитаннойприготовленным раствором. Раствор наносят горизонтальными, слегка
зигзагообразными движениями кисти от левой до правой границы квадрата и сверху
вниз. Подрамник под углом 20-30. Первая полоса раствора будет иметь в нижней части
натек, которому кистью помогают стекать вниз, сохраняя его горизонтальность во всю
ширину, без пропусков. Опустившись до нижней границы квадрата, натек раствора
снимают кистью, отжатой о мягкую ткань или край банки. Дав бумаге полностью
высохнуть, процедуру нанесения раствора необходимо повторить.
. Метод лессировки (слоевой отмывки). Создается поверхность из несколькии полос
разной тональности с четкой границей между ними. Заливка поверхности раствором на
первый раз производится слева направо и сверху вниз от верхней кромки квадрата до
нижней его границы. После того, как бумага полностью просохла, второй слой раствора
наносят от нижней границы первой полосы до нижней кромки прямоугольника. Вновь
дав бумаге полностью просохнуть, отмывают следующие фрагменты. Это упражнение
наглядно показывает степень градации тональности, в зависимости от количества
нанесенных слоев раствора
Метод размывной отмывки. Необходимо создать поверхность, имеющую плавный
переход от светлого тона к темному. Заливка раствором производится от верхней кромки
слева направо и сверху вниз до его нижней границы. Мысленно разбивают
прямоугольник на несколько горизонтальных полос. От середины первой полосы
кистью, напитанной чистой водой, заливают полосу до ее нижней кромки. Затем, слегка
отжав кисть мягкой тканью, продолжают заливку светлым раствором с последующим
введением растворов более темных тонов. Далее заливку с воды начинают от мысленной
середины второй полосы до ее нижней кромки. И вновь, промокнув кисть о ткань, вводят
раствор и помогают натеку стекать вниз до границы . Последовательно смещаясь на
середину третьей полосы и так далее, весь процесс отмывки, начинающийся с воды,
повторяют.
Задание выполняется аналогично предыдущему, с поворотом подрамника на 90 градусов.
Используется метод размывной отмывки.
При отмывке антуража (небо, вода, зелень…) применяется отмывка «по сырому»,
сначала покрывается вся поверхность начальным тоном и по сырой поверхности бумаги,
постепенно вводятся более насыщенные тона туши.
8. Тональный масштаб зависит от нескольких основных явлений:
ТОНАЛЬНЫЙ МАСШТАБЗАВИСИТ ОТ НЕСКОЛЬКИХ ОСНОВНЫХ ЯВЛЕНИЙ:
– свет
– свет, падающий под прямым углом на поверхность тела, определяет самый
освещенный участок, уступающий по силе только блику;
– полутон – слабоосвещенные места на поверхности предмета, появляется при
освещении поверхности лучами света, падающими под острым углом к ней, создает
постепенный переход от тени к свету;
– падающая тень – тень, отбрасываемая предметом на поверхность другого
предмета или плоскость;
-собственная тень – тень, находящаяся в неосвещенной части предмета;
-рефлекс – высветление собственной тени за счет отраженных лучей света;
– блик – точка на поверхности предмета, отражаясь от которой луч света попадает в
глаз зрителя и, благодаря этому, представляется наиболее освещенной.
ГРАДАЦИИ СВЕТОТЕНИ
СВЕТОТЕНЕВАЯ ХАРАКТЕРИСТИКА ЦИЛИНДРА И КОНУСА
Интенсивность освещения зависит от угла падения лучей света на поверхность и убывает с
уменьшением величины этого угла. Следовательно, наиболее яркая освещенность будет в точке,
на которую луч света падает под углом 90 градусов, а теневой участок – в точке касания луча 45
градусов к поверхности. При изображении применяют метод размывной отмывки.
10. ФРОНТАЛЬНАЯ ПРОЕКЦИЯ ШАРА, ОСВЕЩЕННОГО СОЛНЕЧНЫМ СВЕТОМ. ФОРМИРОВАНИЕ СОБСТВЕННЫХ ТЕНЕЙ ШАРА ПО ИЗОФОТАМ
Изофоты на поверхности шара расположены кругами, которые лежат вплоскостях, перпендикулярных к направлению солнечных лучей. На
фронтальной проекции эти круги проецируются эллипсами. Девять зон,
которые образовались на поверхности шара имеют среднюю освещенность.
Для получения тональных растяжек согласно конфигурации изофот, фронт
отмывки должен иметь зубчатую форму. Для осуществления тональной
растяжки, более темный раствор осторожно добавляется кистью в капельки
зубцов по восьмому фронту, смешивается там с предыдущим раствором и
лишь потом растягивается по форме. После середины 8-ой зоны проводится
осветление формы, путем добавления более светлого раствора или воды,
учитывая рефлекс отраженным и рассеянным светом.
11. ПОСТРОЕНИЕ ГРАНИЦ СОБСТВЕННЫХ И ПАДАЮЩИХ ТЕНЕЙ
При выполнении светотеневых изображений,построенных в прямоугольных проекциях, условно
принято определенное (стандартное) направление
параллельных лучей света по диагонали куба
ГРАДАЦИИ СВЕТОТЕНИ
ПРЯМОУГОЛЬНЫЕ ПРОЕКЦИИ СВЕТОВОГО ЛУЧА
Падающая тень от одного предмета на другой не бывает однородной
по тону; по мере удаления от предмета, падающая тень становится
все менее насыщенной, а ее границы — менее резкими. Образуется
плавный переход от темного к светлому. Контуры падающей тени в
противоположность границе собственной тени остаются четкими.
12. ГРАФИЧЕСКАЯ РАБОТА №2 ОТМЫВКа архитектурной детали
ГРАФИЧЕСКАЯ РАБОТА №2 ОТМЫВКА АРХИТЕКТУРНОЙ ДЕТАЛИЦЕЛЬ РАБОТЫ:
Выполнить композицию, включающую архитектурную деталь или архитектурный фрагмент
в соответствии с основными законами построения композиции;
Выполнить геометрические построения собственных и падающих теней, выбрав за исходное
положение лучей освещения угол, равный 45 градусам;
Выявить в соответствии с законами воздушной перспективы плановость и объемнопространственную форму архитектурной детали используя отмывку. Возможности тонального
изображения, основанного на законах воздушной перспективы, теории теней, технике и
приемах отмывки, позволяют не только передать рельефность, пластику объекта,
смоделировать его реалистическое изображение, но и выявить пространственное расположение
всех его частей;
13. ПОСТРОЕНИЕ И ОТМЫВКА ТЕНЕЙ АРХИТЕКТУРНОЙ ДЕТАЛИ
а) — начальная стадияпостроения теней и определения
освещенности,
б) — отмывка работы;
С — линия светораздела
(граница собственной тени)
С—Р—зона собственной тени
Р — рефлекс
Б—бликовая кромка
14. ПОСЛЕДОВАТЕЛЬНОСТЬ ОТМЫВКИ АРХИТЕКТУРНОЙ ДЕТАЛИ
Легким тоном отделить всю форму от фонана чертеже.
После отделения фона от формы, начинают
отмывать тени, с тем чтобы отделить их от
света. Если форма представляет более сложный
фрагмент с несколькими планами, то
необходимо распределить по тональности все
планы и отмывать их в соответствии с
тональным масштабом.
Выполняют светотеневую моделировку всех
элементов архитектурной детали, соблюдая
тональное равновесие света, рефлексов, бликов
и теней. Контрастный контур света и тени на
прямоугольных частях выявляет рельефность
отдельных элементов. Мягкий и плавный
переход собственных теней в свет на
криволинейных поверхностях выявляет их
пластику.
15. ПРИМЕРЫ ГРАФИЧЕСКИХ РАБОТ
ПРИМЕР ГРАФИЧЕСКОЙ РАБОТЫПРИМЕР ГРАФИЧЕСКОЙ РАБОТЫ
ПРИМЕР ГРАФИЧЕСКОЙ РАБОТЫ
ПРИМЕР ГРАФИЧЕСКОЙ РАБОТЫ
20. ЗАДАНИЕ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ :
Выполнение отмывки архитектурнойдетали. Создание светотеневой
моделировки архитектурной формы с
соблюдением всех закономерностей
воздушной перспективы.
СПАСИБО
ЗА ВНИМАНИЕ!!!
Отмывка рельефа – 70 фото
Арты 37 30 марта 2023
Ваза, гипс (арт.50-551)
Архитектурная отмывка Капитель
Академическая отмывка
Дорический ордер отмывка
Архитектурная отмывка Капитель
Архитектурные интерьеры отмывка перспектива
Отмывка архитектурной детали
Отмывка архитектура архитектура тушью
Архитектурная иллюстрация
Архитектурная отмывка тушью
Антураж отмывка архитектурный
Академическая отмывка
Карнак отмывка
Рисунок мрамора
Лестницы классическая архитектура
Отмывка архитектурной детали МАРХИ
Отмывка капители тушью
Отмывка современного фасада
Парфенон отмывка в перспективе
Коринфский ордер в архитектуре отмывка
МАРХИ станция метро
Дизайнер Полина Пидцан проекты
Отмывка интерьера
Отмывка японской архитектуры
Отмывка архитектурной детали окно
Отмывка акварелью
Плоскостная фронтальная композиция
Детали архитектуры отмывка
Альфрейная живопись Капитель
Екатерина Шульце ландшафтный скетчинг
Архитектор ландшафтов клаузура
Отмывка архитектура Репина
Отмывка капители акварелью
Объемный рельеф
Отмывка детали МАРХИ
Этюд архитектурного сооружения в стиле классицизма
Ювелирные скетчи Глынин
Горы воздушная перспектива гуашь
Интерьер акварелью
Тадж Махал фасад отмывка
Дом над водопадом Райт отмывка
Отмывка вилла Савой
Гауди клаузура
Подача архитектурного проекта
Отмывка фасада акварелью
Здание 19 века архитектурная отмывка фасада
Ландшафтный дизайнер Мэтью Нильсен
Студия Андрея Гусева – рельефное панно
Архитектурная подача
Отмывка архитектурной детали окно
Минималистические пейзажи акварелью
Кипител иническый ордер
Киселева т. “отмывка фасада”
Объемная композиция из линий
Акварельная отмывка живопись
Современная архитектура отмывка
Киселева т. “отмывка фасада”
Коринфский ордер в архитектуре отмывка
Отмывка детали
Архитектурная отмывка Готический собор
Клаузура Либескинд
Пейзаж в разных состояниях
Чертежи фасадов зданий отмывка
Китайский храм отмывка
Архитектура акварелью
Палаты Меньшикова отмывка
Отмывка фасада здания акварелью
Отмывка ювелирных украшений
Акварельная отмывка архитектурного чертежа
Рем Колхас клаузуры
Оцени фото:Комментарии (0)
Оставить комментарий
Жалоба!
Еще арты и фото:
Арты 37 30 марта 2023
Ваза, гипс (арт. 50-551)
Архитектурная отмывка Капитель
Академическая отмывка
Дорический ордер отмывка
Архитектурная отмывка Капитель
Архитектурные интерьеры отмывка перспектива
Отмывка архитектурной детали
Отмывка архитектура архитектура тушью
Архитектурная иллюстрация
Архитектурная отмывка тушью
Антураж отмывка архитектурный
Академическая отмывка
Карнак отмывка
Рисунок мрамора
Лестницы классическая архитектура
Отмывка архитектурной детали МАРХИ
Отмывка капители тушью
Отмывка современного фасада
Парфенон отмывка в перспективе
Коринфский ордер в архитектуре отмывка
МАРХИ станция метро
Дизайнер Полина Пидцан проекты
Отмывка интерьера
Отмывка японской архитектуры
Отмывка архитектурной детали окно
Отмывка акварелью
Плоскостная фронтальная композиция
Детали архитектуры отмывка
Альфрейная живопись Капитель
Екатерина Шульце ландшафтный скетчинг
Архитектор ландшафтов клаузура
Отмывка архитектура Репина
Отмывка капители акварелью
Объемный рельеф
Отмывка детали МАРХИ
Этюд архитектурного сооружения в стиле классицизма
Ювелирные скетчи Глынин
Горы воздушная перспектива гуашь
Интерьер акварелью
Тадж Махал фасад отмывка
Дом над водопадом Райт отмывка
Отмывка вилла Савой
Гауди клаузура
Подача архитектурного проекта
Отмывка фасада акварелью
Здание 19 века архитектурная отмывка фасада
Ландшафтный дизайнер Мэтью Нильсен
Студия Андрея Гусева – рельефное панно
Архитектурная подача
Отмывка архитектурной детали окно
Минималистические пейзажи акварелью
Кипител иническый ордер
Киселева т. “отмывка фасада”
Объемная композиция из линий
Акварельная отмывка живопись
Современная архитектура отмывка
Киселева т. “отмывка фасада”
Коринфский ордер в архитектуре отмывка
Отмывка детали
Архитектурная отмывка Готический собор
Клаузура Либескинд
Пейзаж в разных состояниях
Чертежи фасадов зданий отмывка
Китайский храм отмывка
Архитектура акварелью
Палаты Меньшикова отмывка
Отмывка фасада здания акварелью
Отмывка ювелирных украшений
Акварельная отмывка архитектурного чертежа
Рем Колхас клаузуры
Оцени фото:Комментарии (0)
Оставить комментарий
Жалоба!
Еще арты и фото:
- абстракция
автомобили
аниме
арт
девушки
дети
еда и напитки
животные
знаменитости
игры
красота
места
мотоциклы
мужчины
общество
природа
постапокалипсис
праздники
растения
разное
собаки
текстуры
техника
фантастика
фэнтези
фильмы
фоны
Что такое чистая архитектура? | Определение из TechTarget
- Участник TechTarget
Чистая архитектура — это философия дизайна программного обеспечения, которая разделяет элементы дизайна на уровни кольца. Важная цель чистой архитектуры — предоставить разработчикам способ организации кода таким образом, чтобы он инкапсулировал бизнес-логику, но отделял ее от механизма доставки.
Основное правило чистой архитектуры заключается в том, что зависимости кода могут перемещаться только с внешних уровней внутрь. Код на внутренних слоях может не знать о функциях на внешних слоях. Переменные, функции и классы (любые сущности), которые существуют на внешних уровнях, не могут быть упомянуты на более внутренних уровнях. Также рекомендуется, чтобы форматы данных оставались отдельными между уровнями.
Чистая архитектура была создана Робертом К. Мартином и продвигалась в его блоге Uncle Bob. Подобно другим философиям разработки программного обеспечения, чистая архитектура пытается предоставить экономически эффективную методологию, упрощающую разработку качественного кода, который будет работать лучше, его легче изменять и который будет иметь меньше зависимостей.
Визуально уровни чистой архитектуры организованы в неопределенное количество колец. Внешние уровни колец представляют собой механизмы более низкого уровня, а внутренние, более высокие уровни содержат политики и объекты.
Последнее обновление: март 2019 г.
Продолжить чтение О чистой архитектуре- Чистый код: руководство по гибкому программному мастерству, глава 1. Что такое чистый код?
- Краткий обзор трех стилей многоуровневой архитектуры
- Передовой опыт корпоративной архитектуры для гибкой разработки
- Чистая архитектура
управление правами на информацию (IRM)
Управление правами на доступ к данным (IRM) — это дисциплина, которая включает в себя управление, контроль и защиту содержимого от нежелательного доступа.
Нетворкинг- CSU/DSU (блок обслуживания канала/блок обслуживания данных)
CSU/DSU (Channel Service Unit/Data Service Unit) — аппаратное устройство размером примерно с модем.
Он преобразует цифровые данные … - потоковая передача данных
Потоковая передача данных — это непрерывная передача данных из одного или нескольких источников с постоянной высокой скоростью для обработки в определенные …
- граница службы безопасного доступа (SASE)
Пограничный сервис безопасного доступа, также известный как SASE и произносится как «дерзкий», представляет собой модель облачной архитектуры, объединяющую сеть и …
- черный список приложений (занесение приложений в черный список)
Занесение приложений в черный список — все чаще называемое занесением в черный список приложений — представляет собой практику сетевого или компьютерного администрирования, используемую …
- соковыжималка
Juice jacking — это эксплойт безопасности, в котором зараженная зарядная станция USB используется для компрометации устройств, которые к ней подключаются.
- безопасность гипервизора
Безопасность гипервизора — это процесс обеспечения безопасности гипервизора (программного обеспечения, обеспечивающего виртуализацию) на протяжении…
- Общепринятые принципы ведения учета (Принципы)
Общепринятые принципы ведения документации — это основа для управления записями таким образом, чтобы поддерживать …
- система управления обучением (LMS)
Система управления обучением представляет собой программное приложение или веб-технологию, используемую для планирования, реализации и оценки конкретной …
- Информационный век
Информационная эпоха — это идея о том, что доступ к информации и контроль над ней являются определяющими характеристиками нынешней эпохи …
- аутсорсинг процесса подбора персонала (RPO)
Аутсорсинг процесса найма (RPO) — это когда работодатель передает ответственность за поиск потенциальных кандидатов на работу . ..
- специалист по кадрам (HR)
Специалист по персоналу — это специалист по кадрам, который выполняет повседневные обязанности по управлению талантами, сотрудникам …
- жизненный цикл сотрудника
Жизненный цикл сотрудника — это модель управления персоналом, которая определяет различные этапы, которые работник проходит в своей …
- Платформа Adobe Experience
Adobe Experience Platform — это набор решений Adobe для управления качеством обслуживания клиентов (CXM).
- виртуальный помощник (помощник ИИ)
Виртуальный помощник, также называемый помощником ИИ или цифровым помощником, представляет собой прикладную программу, которая понимает естественные …
- входящий маркетинг
Входящий маркетинг — это стратегия, направленная на привлечение клиентов или лидов с помощью созданного компанией интернет-контента, тем самым . ..
Блог Clean Coder
За последние несколько лет мы увидели целый ряд идей, касающихся архитектуры систем. К ним относятся:
- Hexagonal Architecture (a.k.a. Ports and Adapters) Алистера Кокберна, принятая Стивом Фрименом и Натом Прайсом в их замечательной книге Growing Object Oriented Software
- Луковая архитектура Джеффри Палермо
- Screaming Architecture из моего прошлогоднего блога
- DCI от Джеймса Коплиена и Трюгве Реенскауга.
- г. до н.э. Ивара Якобсона из его книги Объектно-ориентированная разработка программного обеспечения: подход, основанный на прецедентах
Хотя все эти архитектуры несколько различаются в деталях, они очень похожи. Все они имеют одну и ту же цель, которая заключается в разделении интересов. Все они достигают этого разделения, разделяя программное обеспечение на слои. У каждого есть по крайней мере один уровень для бизнес-правил и еще один для интерфейсов.
Каждая из этих архитектур создает системы, которые:
- Независимо от фреймворков. Архитектура не зависит от наличия какой-либо библиотеки многофункционального программного обеспечения. Это позволяет вам использовать такие фреймворки в качестве инструментов, а не втискивать вашу систему в их ограниченные ограничения.
- Тестируемый. Бизнес-правила можно протестировать без пользовательского интерфейса, базы данных, веб-сервера или любого другого внешнего элемента.
- Независимо от пользовательского интерфейса. Пользовательский интерфейс можно легко изменить, не меняя остальную часть системы. Веб-интерфейс можно заменить, например, консольным интерфейсом без изменения бизнес-правил.
- Независимо от базы данных. Вы можете заменить Oracle или SQL Server на Mongo, BigTable, CouchDB или что-то еще. Ваши бизнес-правила не привязаны к базе данных.
- Независимо от каких-либо внешних агентств. На самом деле ваши бизнес-правила просто ничего не знают о внешнем мире.
Диаграмма в верхней части этой статьи представляет собой попытку объединить все эти архитектуры в единую действенную идею.
Правило зависимости
Концентрические круги представляют различные области программного обеспечения. В общем, чем дальше вы продвигаетесь, тем выше становится уровень программного обеспечения. Внешние круги – это механизмы. Внутренние круги — политики.
Главное правило, благодаря которому эта архитектура работает, — Правило зависимостей . Это правило гласит, что зависимости исходного кода могут указывать только внутрь . Ничто во внутреннем круге не может вообще ничего знать о чем-то во внешнем круге. В частности, имя чего-либо, объявленного во внешнем круге, не должно упоминаться в коде во внутреннем круге. Это включает в себя функции, классы. переменные или любой другой именованный программный объект.
Точно так же форматы данных, используемые во внешнем круге, не должны использоваться во внутреннем круге, особенно если эти форматы генерируются фреймворком во внешнем круге. Мы не хотим, чтобы что-либо во внешнем круге влияло на внутренние круги.
Субъектыобъектов инкапсулируют бизнес-правил предприятия. Сущность может быть объектом с методами или набором структур данных и функций. Это не имеет значения, если сущности могут использоваться многими различными приложениями на предприятии.
Если у вас нет предприятия и вы пишете только одно приложение, то эти сущности являются бизнес-объектами приложения. Они инкапсулируют самые общие и высокоуровневые правила. Они с наименьшей вероятностью изменятся, когда изменится что-то внешнее. Например, вы не ожидаете, что на эти объекты повлияет изменение навигации по страницам или безопасности. Никакие операционные изменения в каком-либо конкретном приложении не должны влиять на уровень объектов.
Примеры использования
Программное обеспечение на этом уровне содержит конкретных бизнес-правил для приложений. Он инкапсулирует и реализует все варианты использования системы. Эти варианты использования организуют поток данных к объектам и от них и предписывают этим объектам использовать свои корпоративных бизнес-правил для достижения целей варианта использования.
Мы не ожидаем, что изменения в этом слое повлияют на сущности. Мы также не ожидаем, что на этот уровень повлияют изменения внешних факторов, таких как база данных, пользовательский интерфейс или любая из распространенных платформ. Этот слой изолирован от таких проблем.
Мы делаем , однако ожидаем, что изменения в работе приложения повлияют на варианты использования и, следовательно, на программное обеспечение на этом уровне. Если детали прецедента изменятся, это обязательно повлияет на какой-то код на этом уровне.
Интерфейсные адаптеры
Программное обеспечение этого уровня представляет собой набор адаптеров, которые преобразуют данные из формата, наиболее удобного для вариантов использования и сущностей, в формат, наиболее удобный для какого-либо внешнего агентства, такого как база данных или Интернет. Например, именно этот слой будет полностью содержать MVC-архитектуру графического интерфейса. Презентаторы, представления и контроллеры принадлежат сюда. Модели, скорее всего, представляют собой просто структуры данных, которые передаются от контроллеров к вариантам использования, а затем обратно от вариантов использования к презентаторам и представлениям.
Аналогично, на этом уровне данные преобразуются из формы, наиболее удобной для сущностей и вариантов использования, в форму, наиболее удобную для любой используемой структуры постоянства. то есть база данных. Ни один код внутри этого круга не должен вообще ничего знать о базе данных. Если база данных является базой данных SQL, то все SQL должны быть ограничены этим уровнем и, в частности, теми частями этого уровня, которые связаны с базой данных.
Также на этом уровне есть любой другой адаптер, необходимый для преобразования данных из какой-либо внешней формы, такой как внешняя служба, во внутреннюю форму, используемую вариантами использования и сущностями.
Платформы и драйверы.
Самый внешний уровень обычно состоит из фреймворков и инструментов, таких как база данных, веб-фреймворк и т. д. Как правило, вы не пишете много кода на этом уровне, кроме связующего кода, который взаимодействует со следующим внутренним кругом.
На этом слое находятся все детали. Сеть — это деталь. База данных — это деталь. Мы храним эти вещи снаружи, где они не могут причинить мало вреда.
Только четыре круга?
Нет, круги схематичны. Вы можете обнаружить, что вам нужно больше, чем просто эти четыре. Нет правила, которое говорит, что вы всегда должны иметь только эти четыре. Однако Всегда применяется правило зависимостей . Зависимости исходного кода всегда указывают внутрь. По мере продвижения внутрь уровень абстракции возрастает. Крайний круг представляет собой низкоуровневую бетонную деталь. По мере продвижения внутрь программное обеспечение становится все более абстрактным и инкапсулирует политики более высокого уровня. Самый внутренний круг является самым общим.
Пересечение границ.
В правом нижнем углу диаграммы показан пример того, как мы пересекаем границы круга. Он показывает контроллеры и презентеры, взаимодействующие с вариантами использования на следующем уровне. Обратите внимание на поток управления. Он начинается в контроллере, проходит через вариант использования, а затем завершается выполнением в презентаторе. Обратите также внимание на зависимости исходного кода. Каждый из них указывает внутрь, к вариантам использования.
Обычно мы разрешаем это кажущееся противоречие, используя принцип инверсии зависимостей. Например, в таком языке, как Java, мы бы организовали интерфейсы и отношения наследования таким образом, чтобы зависимости исходного кода препятствовали потоку управления только в нужных точках через границу.
Например, предположим, что вариант использования должен вызвать докладчика. Однако этот вызов не должен быть прямым, потому что это нарушит Правило зависимости : Ни одно имя во внешнем круге не может упоминаться во внутреннем круге. Таким образом, у нас есть вариант использования, вызывающий интерфейс (показанный здесь как порт вывода варианта использования) во внутреннем круге, и презентатор во внешнем круге реализует его.
Один и тот же метод используется для преодоления всех границ в архитектурах. Мы используем преимущества динамического полиморфизма для создания зависимостей исходного кода, противодействующих потоку управления, чтобы мы могли соответствовать Правилу зависимостей независимо от того, в каком направлении идет поток управления.
Какие данные пересекают границы.
Обычно данные, которые пересекают границы, представляют собой простые структуры данных. Вы можете использовать базовые структуры или простые объекты передачи данных, если хотите. Или данные могут быть просто аргументами в вызовах функций. Или вы можете упаковать его в хэш-карту или сконструировать в объект. Важно то, что изолированные, простые структуры данных передаются через границы. Мы не хотим обманывать и передавать Объекты или строки базы данных. Мы не хотим, чтобы структуры данных имели какую-либо зависимость, нарушающую Правило зависимостей .
Например, многие платформы баз данных возвращают данные в удобном формате в ответ на запрос. Мы могли бы назвать это RowStructure. Мы не хотим передавать эту структуру строк внутрь через границу. Это нарушило бы Правило зависимости , потому что заставило бы внутренний круг узнать что-то о внешнем круге.
Таким образом, когда мы передаем данные через границу, они всегда имеют форму, наиболее удобную для внутреннего круга.
Заключение
Придерживаться этих простых правил несложно, и это избавит вас от многих головных болей в будущем. Разделив программное обеспечение на уровни и соблюдая Правило зависимостей , вы создадите систему, которую можно тестировать по сути, со всеми вытекающими преимуществами. Когда какая-либо из внешних частей системы устаревает, например, база данных или веб-фреймворк, вы можете заменить эти устаревшие элементы с минимальными усилиями.