Разное

Композиция бывает: Композиция в литературе

Содержание

Композиция в литературе

Композиция в литературе:

О том, что такое композиция в литературе, каждый читатель наверняка знает еще со школьной скамьи. Поэтому если вы из читателя решили переквалифицироваться в писателя, самое время освежить знания с помощью нашей статьи.

Композиция художественного произведения — важная основа писательского творчества. Обычно под этим термином понимается способ построения текста, система объединения его элементов. Разберем же это официальное определение, взглянем на виды композиции в литературе с примерами.

Что такое композиция

В переводе с латинского «композиция» значит «построение». В литературоведении она строит целостное произведение из различных элементов текста. Проектировщиком является, конечно, автор, а стройматериалами — события, образы, хитросплетения сюжета, авторские отступления и так далее. При помощи композиции автор как бы проводит читателя за руку из точки «А» к точке «Z», попутно демонстрируя ему «достопримечательности».


При помощи термина «композиция» можно описать и объекты нефилологического плана: театральные постановки, музыкальные действа, религиозные ритуалы, архитектурные сооружения.

Одним из первых данное понятие разработал еще Марк Фабий Квинтилиан. Древнеримский оратор предложил разделить план речи на 8 частей; причем каждая из них могла быть использована как в прямом, так и в обратном порядке:

Оратор привлекает аудиторию — например, при помощи резкого, провокационного высказывания.

Именование темы.

Оратор детализирует озвученную тему. Интерес аудитории усиливается. Вспоминаются уже известные слушателям факты, связанные с темой.

Повествование.

Рассказ об истории предмета обсуждения: его происхождении, репутации, взглядах на него.

Описание.

Рассказ о том, что происходит с предметом обсуждения в настоящий момент.

Доказательство.

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

Опровержение.

Оглашается другая точка зрения на доказательство. Оратор опровергает ее — также при помощи логических аргументов.

Воззвание.

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

Заключение.

Выводы по поводу обсуждаемого вопроса.

Со временем структура Квинтилиана стала применяться не только в устных выступлениях. Пусть и претерпев метаморфозы, она вошла в практику создания текстовых произведений. Теперь структура стояла на трех китах:

Вступление;

Основная часть;

Заключение.

Виды композиции

Понять, что такое композиция литературного произведения, помогут ее виды. Но начнем мы с двух ее типов: внешнего и внутреннего.

Внешняя композиция — это разбивка художественного произведения на структурные части: эпилог, пролог, главы, лирические отступления, эпиграфы. Иногда внешнюю композицию называют архитектоникой произведения. Она позволяет подавать информацию дозировано. Читать шестисотстраничный роман одним текстом было бы неудобно; эту проблему архитектоника и позволяет разрешить.

Внутренняя композиция содержит намного больше структурных элементов. Однако все они служат общей цели: подать текст в едином порядке и раскрыть мысль автора во всей полноте. На помощь приходит целый арсенала средств — образных, сюжетных, речевых. О них мы поговорим немного позже.

Виды композиции в литературе классифицируются по форме подачи материала:

События идут один за другим в хронологической последовательности. Вектор повествования не меняется от начала до конца. Пример — комедия А. С. Грибоедова «Горе от ума».

Обратная или инверсионная.

Сначала описываются финальные сцены сюжета. Дальнейшие эпизоды помогают понять, что к этим событиям привело. Такой прием Н. Г. Чернышевским использовал в произведении «Что делать?». Нередко инверсионная композиция используется авторами детективов. Книга открывается сценой преступления, а расследование следует далее. Рассказчик как бы замыкает петлю, проводя читателя сквозь подробности — и обратно, к изначальным событиям, которые теперь могут восприниматься совсем иначе.

Параллельная.

В произведении есть несколько главных героев. У каждого из них — своя судьба и свой путь, однако их сюжетные линии пересекаются, а иногда и тесно переплетаются. Пример — «Война и мир», где Л. Н. Толстой описывает жизнь одновременно нескольких семей.

Полифоническая.

Автор знакомит читателя с миром каждого из персонажей; причем каждый из этих миров равноценен и не может быть исключен из текста. Яркий пример полифонии — «Имя Розы» Умберто Эко. Родоначальником полифонической композиции в литературоведении считается Ф. М. Достоевский.

Кольцевая композиция.

Позволяет легко и эффектно завершить произведение, сделать его более стройным. Особенность данного типа — в повторении одних и тех же элементов в начале и конце произведения. Оно завершается тем же, чем и началось. Например, в конце «Сказки о рыбаке и рыбке» А. С. Пушкина старуха остается у разбитого корыта — с чем, собственно, она и была в начале истории.

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

Такая композиция художественного произведения строится на повторе определенных образов. Как правило, они также размещаются в конце и начале текста. Отличный пример можно вновь найти у Пушкина в «Евгении Онегине»: если в начале Татьяна признается в любви Онегину, то завершением истории служит обратное признание Онегина Татьяне.

Умолчание.

Некое событие происходит до начала развития сюжета, но автор о нем умалчивает. Этот тип часто можно встретить в детективных произведениях. Один из самых жутковатых примеров — финальная сцена с Судьей и Мальцом в «Кровавом Меридиане» Кормака Маккарти.

Концентрическая.

Автор закручивает сюжет в спираль: причины каждого из последующих событий коренятся в прошлом. По концентрической модели написано «Преступление и наказание» Ф. М. Достоевского.

Ретроспективная.

Сюжет периодически возвращается к прошлому — к событиям, которые послужили развитию конфликта. Так построена «Машенька» В. В. Набокова.

Рамочная.

Один или несколько рассказов облекаются в рамку основного сюжета. Если рамка представлена воспоминаниями, речь идет о ретроспективной композиции. В качестве примера возьмем «Госпожу
Бовари» Г. Флобера. Основной персонаж здесь — Эмма, однако произведение пишется в виде биографии другого действующего лица, Шарля.

Свободная.

Писатель использует два или более перечисленных выше типов композиции одновременно. Их сочетание помогает удержать внимание читателя, сделать произведение более захватывающим. Этот вид больше всего был по душе Уильяму Фолкнеру практически во всех его работах.

Элементы композиции

Элементы композиции в литературе традиционно делятся на следующие типы:

Пролог. Не всегда обязателен, но часто идет произведению только на пользу, делает более интересным.

Завязка. На этом этапе возникает конфликт, зарождаются противоречия.

Развитие сюжета. Череда событий.

Кульминация. Пиковый момент произведения.

Развязка. То, чем завершается кульминация.

Эпилог. Авторская оценка событий, основные выводы, предположения о дальнейшей жизни персонажей.

Речевые элементы композиции помогают оживить произведение и включают в себя:

Монологи и диалоги. Обычно они делают произведение более динамичным, легким для восприятия. Раскрывают образы персонажей через подробные и эмоциональные размышления. Лирические отступления. Мысли и идеи автора, не относящиеся непосредственно к сюжету или героям произведения.

Авторские описания действующих лиц. Автор произведения описывает героев, не стесняясь собственного положительного или негативного отношения к ним.

К образным элементам относят:

Персонажей. Действующие лица продвигают сюжетную линию и раскрывают замысел автора.

Образы обстановки. Сюда относятся описания городов, стран, дорог. Словом, ландшафт произведения.

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


Вставками могут быть:

  • Описание сцен из прошлого.
  • Сказки, байки, притчи, стихотворения.
  • Сны.

Композиционные приемы

Вооружившись композиционными приемами, автор может устроить читателю настоящий пир эмоций. Чаще всего используются:

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

Ретроспекция.

«Взгляд назад». Автор демонстрирует читателю прошлое главного героя или героев, описывает события, что предшествовали началу действия.

Мотив.

Повторяющиеся элементы, красной нитью проходящие через произведение.

Разрыв.

Считается одним из сильнейших приемов для создания интригующего сюжета. Заключается в том, что описание событий прерывается на самом интересном месте. Автор подводит читателя к захватывающему моменту, но в следующей главе момент этот не разрешается: здесь уже совершенно другая сцена. Прием позволяет удержать внимание, мотивирует прочесть книгу до конца.

Экспозиция.

Описание обстановки, в которой завязывается сюжетная линия. Например, исторической эпохи или географических особенностей.

Монтаж.

Автор использует два разных образа. Каждый из них вносит свой вклад в понимание произведения и, в конце концов, составляет целостное впечатление. Взаимодействуя между собой, они порождают особый, новый смысл произведения. Роман «Мастер и Маргарита» был написан Булгаковым именно по этому принципу. На его страницах сцены из московской реальности попеременно чередуются с библейскими, и это производит мощное впечатление. Подобное происходит и в «Пиковая дама» А. С. Пушкина: одна образ — любовная история; второй — азартная игра.

Противопоставление.

Один из самых сильных художественных приемов. Текст, в котором фигурируют два противоположных пространства, обладает особой трансформирующей силой. Хороший пример — опять же «Война и мир» Л. Н. Толстого: батальные сцены чередуются с описанием сцен семейной жизни. В произведении Э. М. Ремарка «Искра жизни» рассказывается о концлагерных условиях существования заключенного № 509 и его товарищей. Этим сценам противопоставляются сибаритские заботы коменданта лагеря Бруно Нойбауэра.

Особенности сюжетной композиции

Понятия фабулы и сюжета путают часто, а ведь для понимания сюжетной композиции текста важно понимать разницу.

  • Фабула — фактически произошедшая история (череда событий), представленная в хронологическом порядке.
  • Сюжет — подает историю в том виде, в каком задумал писатель.

Например, в романе «Герой нашего времени» М. Ю. Лермонтова части произведения представлены в особом авторском порядке — в этом случае речь идет о сюжете. Если же разложить главы в хронологической последовательности, то мы получим фабулу.

Интересно, что попытки подсчитать количество в принципе существующих сюжетов предпринимались на протяжении всего существования литературы. Гете, например, насчитал 36 возможных вариантов, в рамках которых можно уложить абсолютно любое литературное произведение.

Особенности композиции сказки

Фольклорные произведения (былины, сказания) в литературе стоят особняком, поэтому и внимания заслуживают отдельного. Их композиции отличаются практически непреложными особенностями.

Например, сказки. Стандартная композиция сказки включает в себя следующие составные части:

Присказка. Нередко не имеет ничего общего с сюжетом; присказку обычно облачали в стихотворную форму. «Расскажу я сказку от Сивки-Бурки, от вещей каурки…», «Скоро сказка сказывается, да не скоро дело делается», — типичные примеры присказок.

Зачин. «В тридевятом царстве, за горами, за лесами, жили-были король с королевой…». Между героями затем возникает противоречие.

Развитие сюжета. Конфликт формируется, развивается цепочка событий.

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

Развязка. Те события, что еще происходят после конфликта. Описывается, как изменились главные герои после разрешения конфликта.

Концовка. Она также традиционна. Например: «Я на свадьбе был, мед-пиво пил…».

Один из самых часто встречающихся композиционных приемов в сказке — это повтор (нередко троекратный). Чтобы добиться желаемого, Иван-Царевич должен искупаться в трех котлах; прекрасная царевна — побывать в гостях у трех разных колдуний.

Заключение

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

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


Выбор композиционной формы произведения во многом зависит от его жанра. Для детективного произведения наиболее очевидным вариантом станет инверсионная композиция. Для драмы или эпопеи — зеркальная, концентрическая и другие виды.

А иногда бывает так, что творческий процесс сам создает композиционную форму, буквально «в прямом эфире» работы над книгой. Так что — теорию знать важно, а вот применение ее на практике целиком зависит от смелости и самобытности автора.

Опубликовать свою книгу в ЛитРес

Была ли данная статья полезна для Вас?

Идеи постов для авторской группы в соцсетях

Как придумать название для книги: способы и советы

Что больше всего бесит редактора

Где найти иллюстрации для своей книги?

Композиция — что это такое вообще и в литературе в частности

Обновлено 22 июня 2022 Просмотров: 117 874 Автор: Дмитрий Петров

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo. ru. Произведения искусства имеют особые законы построения.

В музыке, живописи, литературе их совокупность называют термином «композиция».

Нас больше всего интересует композиция литературного произведения. Об этом и поговорим.


Композиция — это…

Термин происходит от латинского composition – «составление» и на практике означает:

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

В литературе композиция – это построение художественного произведения. Она включает в себя набор композиционных элементов и приёмов.

Анализ композиционных особенностей текста помогает понять, что писатель считает самым важным, чему уделяет минимум внимания, что хочет выделить особенно.

Различают два типа композиции:

  1. внешняя;
  2. внутренняя.

Внешнюю называют архитектоникой. Она всегда наглядна, по ней можно судить, как построен текст: сколько в нём глав, абзацев, четверостиший.

Внутренняя связывается с понятием «повествование» и складывается из описаний, авторских отступлений, вставных рассказов, диалогов, других элементов. Анализировать композицию нужно, двигаясь от внешней структуры к внутренней.

Виды композиции

Существует 5 композиционных разновидностей:

  1. Линейная. Характерна для большинства произведений. Сюжет начинается в одной точке времени и пространства, а заканчивается в другой. Схема движения традиционна: от настоящего – к будущему. Примеров множество: роман «Обломов» А.И.Гончарова, роман-эпопея «Война и мир» Л.Н.Толстого, пьеса «На дне» М.Горького.
  2. Обратная. Движение происходит от настоящего к прошлому. Классический образец – роман В.Набокова «Машенька». На всём протяжении действия, ожидая приезда любимой женщины, герой вспоминает прошедшую историю их любви.
  3. Рамочная. Основной повествовательный эпизод «вставлен» в раму менее важных по значимости событий. Часто это выглядит как рассказ, изложенный от лица героя в дружеской беседе. Примеры: «Первая любовь» И.С.Тургенева, «После бала» Л.Н.Толстого, «Нетерпение сердца» С.Цвейга.
  4. Зеркальная. Отдельные сцены как бы отражают друг друга, при этом отражения не всегда совпадают, выделяя контрасты, либо совпадают так, что позволяют увидеть суть происходящего. Пример – «Евгений Онегин» А. С. Пушкина. Татьяна пишет Онегину, Онегин пишет Татьяне. Если наложить одну ситуацию на другую, получатся две истории о любви без ответа.
  5. Кольцевая. Известное стихотворение А.Блока «Ночь, улица, фонарь, аптека…» начинается так же, как заканчивается. Приём закольцовывания лирического сюжета помогает подчеркнуть ограниченность описываемого мира.

Композиционные приёмы

Чтобы добиться яркого художественного эффекта, писатель пользуется специальными приёмами:

  1. Экспозиция. Сюжет разворачивается не сразу, а после определённой истории, готовящей читателя к его восприятию. Иногда в экспозицию выносится моральное наставление или авторское предисловие, написанное в свободной форме.

    Например, перед тем, как познакомить нас с Печориным, М.Ю.Лермонтов в предисловии к роману «Герой нашего времени» с досадой предупреждает, чтобы смысл названия не воспринимали буквально, а также объясняет, что портрет его героя – лишь диагноз, поставленный поколению, но не образец поведения, как могут подумать некоторые критики.

  2. Ретроспекция. Обращение к прошлому для поиска событий, объясняющих настоящее положение дел. Ретроспективно большинство рассказов И.Бунина, например, «Тёмные аллеи», «Антоновские яблоки».
  3. Разрыв. Повествование обрывается на самом интересном месте. Должна последовать развязка, но автор заводит речь совсем о другом. На разрывах построена композиция романа Б.Пастернака «Доктор Живаго». В зарубежной литературе этот приём встречается в романе Л.Стерна «Сентиментальное путешествие».

Элементы композиции

Теперь поговорим о том, из чего композиция состоит и что, собственно, мы должны анализировать, когда о ней говорим. Здесь 12 позиций. Вот они:

  1. Повествование. Изложение событий в той последовательности, в которой они происходили. Естественный ход сюжета, логичный, например, в устном рассказе персонажа о каком-либо происшествии.
  2. Описание. Чтобы задержать внимание читателя на человеке, месте, обстановке комнаты, писатель подробно их описывает. Мы часто пропускаем описание батальных сцен или природы, но это неправильно. В художественном тексте важна каждая деталь. Например, без описания «равнодушной природы» в конце романа «Отцы и дети» не понять отношения Тургенева к Базарову.
  3. Портрет. При анализе портрета обратите внимание, что называется первым. Обычно это глаза – «зеркало души», но иногда писатель начинает с описания какой-нибудь рюшки, бородавки или воротничка, а о глазах не говорит ничего. Так любит делать Н.В.Гоголь, чтобы подчеркнуть бездуховность своих персонажей.
  4. Пейзаж. Он бывает морским, городским, сельским, горным, степным. Различают также сентиментальный (или пасторальный) пейзаж, пейзаж романтический и реалистический. Его детали либо гармонируют, либо контрастируют с поведением героев, создавая определённый эффект. Например, в рассказе Е.Замятина «Пещера» индустриальный пейзаж сдавливает героев. Вместо человеческого прогресса, с которым обычно ассоциируется город, мы чувствуем регресс (это как?), возвращение в каменный век.
  5. Диалог. В диалоге раскрываются противоположности. Король диалогов Ф.М.Достоевский превращает обычные беседы героев (Порфирия и Раскольникова, Ивана и Алёши Карамазовых) в метафизические споры о добре и зле, Боге и дьяволе. Диалог ускоряет развитие сюжета, оживляет повествование.
  6. Монолог – это шаг в сторону от основного действия, минутка внимания, прикованного к одному герою. Гениальные монологи в чеховских пьесах рассказывают о сложности внутреннего мира каждого человека. Часто монолог подчёркивает одиночество героя, его замкнутость в самом себе.
  7. Авторское отступление. Классический пример – лирические отступления «Мёртвых душ», включающие размышления Н.В. Гоголя о России. Они не всегда связаны с ходом сюжета, но хорошо прописывают идейный фон произведения.
  8. Вставной рассказ. В тех же «Мёртвых душах» есть «Повесть о капитане Копейкине», которую можно читать и как отдельный текст, и как часть поэмы. Она обращает читателя к тайнам авторского замысла.
  9. Система персонажей. Герои не живут по отдельности: даже сохраняя внешнее одиночество, они находятся в постоянном взаимодействии, как фигуры на шахматной доске. Их сложная связь отчасти определяет ход сюжета. Иногда автор меняет изначальный план произведения, отталкиваясь от тех изменений, которые происходят с героем по логике его характера. Так вышло с Анной Карениной в романе Л.Н.Толстого.
  10. Сюжет. Ход событий в произведении и связанные с ними душевные искания героев.
  11. Фабула – событийная схема произведения, отличающаяся от сюжета примерно так же, как скелет организма от самого организма.
  12. Авторская характеристика. Этот элемент присутствует не всегда, но порой автор не может удержаться от выражения отношений к своему герою. В комедии А.С.Грибоедова «Горе от ума» такие характеристики проскальзывают в авторских ремарках.

Заключение

Композиция – это стройная и заранее продуманная система сложных частей художественного целого.

Если она хорошо сформирована, нарушение любого из её звеньев грозит обвалом всему произведению.

Вот почему, когда мы читаем классику, важно не упускать ни малейшей детали.

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Поделиться в соцсетях

Жизненный цикл компонуемых | Jetpack Compose

На этой странице вы узнаете о жизненном цикле компонуемого и как Compose решает, нуждается ли компонуемый в рекомпозиции.

Обзор жизненного цикла

Как указано в документации Управление состоянием, Композиция описывает пользовательский интерфейс вашего приложения и создается путем запуска составных объектов. Композиция — это древовидная структура составных элементов, описывающих ваш пользовательский интерфейс.

Когда Jetpack Compose впервые запускает компонуемые объекты в течение инициал композиция , она будет отслеживать составные элементы, которые вы вызываете для описания ваш пользовательский интерфейс в композиции. Затем, когда состояние вашего приложения изменится, Jetpack Составление графиков рекомпозиции . Рекомпозиция — это когда Jetpack Compose повторно выполняет составные элементы, которые могли измениться в ответ на изменения состояния, а затем обновляет композицию, чтобы отразить любые изменения.

A Композиция может быть произведена только из исходной композиции и обновлена перекомпоновка. Единственный способ изменить композицию — перекомпоновать.

Ключевой момент: Жизненный цикл составного объекта определяется следующими событиями: вход в композицию, перекомпоновка 0 или более раз и выход из Сочинение.

Рис. 1. Жизненный цикл компонуемого в композиции. Он входит в Композиция, перекомпоновывается 0 или более раз и покидает композицию.

Перекомпоновка обычно инициируется изменением Объект State . Написать отслеживает их и запускает все компонуемые в композиции, которые читают это частности

State , и любые составные объекты, которые они вызывают, не могут быть пропущено.

Примечание: Жизненный цикл Composable проще, чем жизненный цикл представлений, деятельность и фрагменты. Когда составной элемент должен управлять или взаимодействовать с внешние ресурсы, которые делают , имеют более сложный жизненный цикл, вы должны использовать последствия.

Если составной объект вызывается несколько раз, несколько экземпляров помещаются в Сочинение. Каждый вызов имеет свой жизненный цикл в композиции.

 @Составной
весело MyComposable () {
    Столбец {
        Текст("Здравствуйте")
        Текст("Мир")
    }
}
 

Рисунок 2. Представление MyComposable в композиции. Если composable вызывается несколько раз, несколько экземпляров помещаются в Сочинение. Элемент, имеющий другой цвет, указывает на то, что он является отдельный экземпляр.

Анатомия компонуемого в композиции

Экземпляр компонуемого в композиции идентифицируется его звоните на сайт . Компилятор Compose рассматривает каждый сайт вызова как отдельный. Вызов композиций из нескольких мест вызова создаст несколько экземпляров компонуемого в Сочинение.

Ключевой термин: Сайт вызова — это местоположение исходного кода , в котором компонуемый называется. Это влияет на его место в композиции и, следовательно, на дерево пользовательского интерфейса.

Если во время рекомпозиции составной объект вызывает другой составной объект, чем он был во время предыдущей композиции Compose будет определить, какие составные части были вызываемый или не вызываемый и для составных объектов, которые вызывались в обоих композиций, Compose будет

избегать их перекомпоновки, если их входные данные не изменил .

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

Рассмотрим следующий пример:

 @Composable
весело LoginScreen (showError: Boolean) {
    если (показать ошибку) {
        Ошибка входа()
    }
    LoginInput() // Этот сайт вызова влияет на то, где LoginInput помещается в Composition
}
@составной
весело LoginInput() { /* ... */ }
 

В приведенном выше фрагменте кода LoginScreen будет условно вызывать LoginError composable и всегда будет вызывать

LoginInput composable. Каждый call имеет уникальный сайт вызова и исходную позицию, которые компилятор будет использовать для однозначно идентифицировать его.

Рис. 3. Представление LoginScreen в композиции при состоянии изменяется и происходит рекомбинация. Тот же цвет означает, что он не был перекомпонован.

Несмотря на то, что LoginInput перешел от первого вызова к второму, экземпляр LoginInput будет сохранен при перекомпоновке. Кроме того, потому что LoginInput не имеет никаких параметров, которые изменились через перекомпоновки вызов LoginInput будет пропущен Compose.

Добавить дополнительную информацию, чтобы помочь умным рекомпозициям Что ж. При многократном вызове компонуемого с одного и того же места вызова Compose не имеет никакой информации для уникальной идентификации каждого вызова этого компонуемого, поэтому порядок выполнения используется в дополнение к сайту вызова, чтобы сохранить экземпляры разные. Такое поведение иногда все, что нужно, но в некоторых случаях это может вызвать нежелательное поведение.

 @Составной
fun MoviesScreen(фильмы: List) {
    Столбец {
        для (фильм в кино) {
            // Составные объекты MovieOverview помещаются в Composition с учетом их
            // индекс позиции в цикле for
            ФильмОбзор(фильм)
        }
    }
}
 

В приведенном выше примере Compose использует порядок выполнения в дополнение к вызову site, чтобы сохранить экземпляр в композиции. Если добавляется новый фильм

до нижнего списка, Compose может повторно использовать экземпляры, уже находящиеся в Состав с момента их нахождения в списке не изменился и, следовательно, фильм ввод одинаков для этих экземпляров.

Рисунок 4. Представление MoviesScreen в композиции при появлении нового элемент добавляется в конец списка. MovieOverview составных элементов в Композицию можно использовать повторно. Тот же цвет в MovieOverview означает компонуемый не был перекомпонован.

Однако, если список фильмов изменяется путем добавления к

лучших или средний списка, удаление или изменение порядка элементов, это вызовет перекомпоновку во всех вызовах MovieOverview , входной параметр которых изменил позицию в список. Это чрезвычайно важно, если, например, MovieOverview получает киноизображение с побочным эффектом. Если рекомпозиция происходит во время действия эффекта прогресс, он будет отменен и начнется снова.

 @Составной
весело MovieOverview (фильм: фильм) {
    Столбец {
        // Побочный эффект объяснен позже в документации. Если фильмОбзор
        // перекомпоновывает во время получения изображения,
        // он отменяется и перезапускается.
        val image = loadNetworkImage(movie. url)
        Заголовок фильма (изображение)
        /* ... */
    }
}
 

Рисунок 5. Представление MoviesScreen в композиции при появлении нового элемент добавляется в список. Составные компоненты MovieOverview нельзя использовать повторно. все побочные эффекты возобновятся. Другой цвет в MovieOverview означает компонуемый был перекомпонован.

В идеале мы хотим думать об идентичности экземпляра MovieOverview как связан с идентификатором фильма , который передается ему. Если мы переупорядочим список фильмов, в идеале мы должны аналогичным образом изменить порядок экземпляров в Дерево композиции вместо перекомпоновки каждой MovieOverview компонуется с другой экземпляр фильма. Compose предоставляет способ сообщить среде выполнения какие значения вы хотите использовать для идентификации данной части дерева:

ключ компонуемый.

Обернув блок кода вызовом ключа, составляющего один или несколько переданные значения, эти значения будут объединены для использования для идентификации этого экземпляр в составе. Значение для ключа не обязательно должно быть глобально уникальный, он должен быть уникальным только среди вызовов компоновки на месте вызова. Так что в этом примере каждый фильм должен иметь ключ это уникальный среди фильмов ; это нормально, если он разделяет этот ключ с некоторые другие компонуемые в другом месте приложения.

 @Составной
fun MoviesScreen(фильмы: List
) { Столбец { для (фильм в кино) { key(movie.id) { // Уникальный идентификатор этого фильма ФильмОбзор(фильм) } } } }

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

Рисунок 6. Представление MoviesScreen в композиции при появлении нового элемент добавляется в список. Начиная с MovieOverview компонуемых объектов имеют уникальные ключей, Compose распознает, какие экземпляры MovieOverview не изменились, и может использовать их повторно; их побочные эффекты будут продолжать выполняться.

Ключевой момент: Используйте ключ компонуемый, чтобы помочь Compose идентифицировать компонуемые экземпляры в композиции. Это важно, когда несколько составных объектов вызываются из один и тот же сайт вызова и содержат побочные эффекты или внутреннее состояние.

Некоторые компонуемые компоненты имеют встроенную поддержку компонуемого ключа . Например, LazyColumn допускает указание пользовательского ключа в элементах DSL.

 @Составной
fun MoviesScreen(фильмы: List) {
    Ленивая колонка {
        элементы (фильмы, ключ = { фильм -> фильм.ид }) { фильм ->
            ФильмОбзор(фильм)
        }
    }
}
 

Пропуск, если входные данные не изменились

Если компонуемый объект уже находится в композиции, он может пропустить рекомпозицию, если все входы стабильны и не изменились.

Стабильный тип должен соответствовать следующему контракту:

  • Результат равен для двух экземпляров будет навсегда будет одинаковым для те же два экземпляра.
  • При изменении общедоступного свойства типа Composition будет уведомлено.
  • Все типы публичной собственности также стабильны.

В этот контракт входят некоторые важные общие типы, которые compose компилятор будет рассматривать как стабильные, даже если они явно не отмечен как стабильный с помощью @Stable аннотация:

  • Все примитивные типы значений: Boolean , Int , Long , Float , Char 18 и т. д.
  • Струны
  • Все типы функций (лямбды)

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

Примечание: Все глубоко неизменяемые типы можно безопасно считать стабильными типами.

Один примечательный тип, который является стабильным, но является изменчивым, — Compose’s MutableState . тип. Если значение содержится в MutableState , объект состояния в целом считается стабильным, поскольку Compose будет уведомлен о любых изменениях в .value свойство State .

Если все типы, переданные в качестве параметров составному объекту, стабильны, параметр значения сравниваются на равенство на основе составной позиции в пользовательском интерфейсе дерево. Перекомпоновка пропускается, если все значения не изменились с момента предыдущий звонок.

Ключевой момент: Compose пропускает рекомпозицию компонуемого, если все входные данные стабильны и не изменились. Для сравнения используется метод равно .

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

Если Compose не может сделать вывод, что тип стабилен, но вы хотите Напишите, чтобы считать его стабильным, отметьте его значком @Стабильная аннотация .

 // Отмечаем тип как стабильный, чтобы способствовать пропуску и умной рекомпозиции.
@Стабильный
интерфейс UiState> {
    значение: T?
    val исключение: Throwable?
    val hasError: логическое значение
        получить () = исключение! = ноль
}
 

В приведенном выше фрагменте кода, поскольку UiState является интерфейсом, Compose может обычно считают этот тип неустойчивым. Добавив @Stable аннотацию, вы говорите Compose, что этот тип стабилен, что позволяет Compose отдавать предпочтение умные рекомпозиции. Это также означает, что Compose будет обрабатывать все реализации стабильны, если в качестве типа параметра используется интерфейс.

Ключевой момент: Если Compose не может вывести стабильность типа, аннотировать тип с @Stable , чтобы Compose поддерживал интеллектуальные рекомпозиции.

University Press of Colorado - Английская композиция как явление

Джеффри Сирка

Выходные данные: Utah State University Press

Купить сейчас


Лауреат премии У. Росса Винтерода 2003 года


«Однажды я случайно представил Джеффа Сирка как самого опасного человека в обучении письму. Его новая книга доказывает мою правоту».
— Виктор Витанца

«Эта книга расстроит почти всех. Я чувствую, что являюсь частью аудитории, которую он ищет, и я был глубоко обеспокоен — и побудил к тщательным размышлениям — критике Сирка. о принципах культурологии, которыми я дорожу. Хорошие книги, конечно, расстраивают людей, и они должны ».

— Патриция Харкин

«Сирк добился завидной позиции в своем теоретизировании, работая не в прямом противоречии с материалами и подходами, которые мало влияют на обучение письму, а вне этих все еще ограничивающих его моделей. Он предлагает другую реляционную метафизику, которая связывает процессы композиции с ее различными продуктами, к потенциальной пользе всех студентов и многих учителей».
— Сьюзан Миллер

«Сирк заставляет меня усомниться в моих методах преподавания. Он также пробуждает мое воображение и открывает двери новым (и старым) возможностям. стазис был профессионализацией Композиции. Возможно, жизнь над «академической сыроварней» — это цена, которую мы заплатили за повышенный авторитет».
— Робин Варнум

«Современная композиция все еще находится под влиянием эпистемологического поворота, принятого в XIX веке.80-х годов, убеждая меня, что нам нужно помнить то, что мы забыли, а именно, как были оставлены страстные решения и волнующие открытия и почему. Я хотел бы повторить путь, не пройденный в исследованиях композиции, чтобы спасти то, что еще можно восстановить. . . . Я хочу осмотреть обломки, чтобы показать, что было обещано Happenings for Composition, а также огромный серый longueur его бледной замены, Eighties Composition. Поступая таким образом, я надеюсь начать реконфигурацию нашей области до и после истории».0010
— из Введения

 

Что случилось со смелым обещанием писать инструкции в 1960-х годах? Нынешняя консервативная тенденция в композиции аллегорически анализируется Джеффри Сирком в этой длинной книге, посвященной статье Чарльза Димера 1967 года, в которой теории и практики художников-хэппенингов (пионеров междисциплинарного перформанса) использовались для оживления письма в колледже.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *