Паттерн Состояние (State pattern). Паттерн поведенческий


Состояние

Также известен как: State

Суть паттерна

Состояние — это поведенческий паттерн проектирования, который позволяет объектам менять поведение в зависимости от своего состояния. Извне создаётся впечатление, что изменился класс объекта.

Проблема

Паттерн Состояние невозможно рассматривать в отрыве от концепции машины состояний, также известной как стейт-машина или конечный автомат.

Конечный автомат.

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

Такой подход можно применить и к отдельным объектам. Например, объект Документ может принимать три состояния: Черновик, Модерация или Опубликован. В каждом из этих состоянии метод опубликовать будет работать по-разному:

Возможные состояния документа и переходы между ними.

Машину состояний чаще всего реализуют с помощью множества условных операторов, if либо switch, которые проверяют текущее состояние объекта и выполняют соответствующее поведение. Наверняка вы уже реализовали хотя бы одну машину состояний в своей жизни, даже не зная об этом. Как насчёт вот такого кода, выглядит знакомо?

class Document string state; // ... method publish() { switch (state) { "draft": state = "moderation"; break; "moderation": if (currentUser.role == 'admin') state = "published" break; "published": // Do nothing. break; } } // ...

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

Путаница и нагромождение условий особенно сильно проявляется в старых проектах. Набор возможных состояний бывает трудно предопределить заранее, поэтому они всё время добавляются в процессе эволюции программы. Из-за этого решение, которое выглядело простым и эффективным в самом начале разработки, может впоследствии стать проекцией большого макаронного монстра.

Решение

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

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

Страница делегирует выполнение своему активному состоянию.

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

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

Аналогия из жизни

Ваш смартфон ведёт себя по-разному, в зависимости от текущего состояния:

Структура

  1. Контекст хранит ссылку на объект состояния и делегирует ему часть работы, зависящей от состояний. Контекст работает с этим объектом через общий интерфейс состояний. Контекст должен иметь метод для присваивания ему нового объекта-состояния.

  2. Состояние описывает общий интерфейс для всех конкретных состояний.

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

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

  4. И контекст, и объекты конкретных состояний могут решать, когда и какое следующее состояние будет выбрано. Чтобы переключить состояние, нужно подать другой объект-состояние в контекст.

Псевдокод

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

Пример изменение поведения проигрывателя с помощью состояний.

Объект проигрывателя содержит объект-состояние, которому и делегирует основную работу. Изменяя состояния, можно менять то, как ведут себя элементы управления проигрывателя.

// Общий интерфейс всех состояний. abstract class State is protected field player: Player // Контекст передаёт себя в конструктор состояния, чтобы // состояние могло обращаться к его данным и методам в // будущем, если потребуется. constructor State(player) is this.player = player abstract method clickLock() abstract method clickPlay() abstract method clickNext() abstract method clickPrevious() // Конкретные состояния реализуют методы абстрактного состояния // по-своему. class LockedState extends State is // При разблокировке проигрователя с заблокированными // клавишами он может принять одно из двух состояний. method clickLock() is if (player.playing) player.changeState(new PlayingState(player)) else player.changeState(new ReadyState(player)) method clickPlay() is // Ничего не делать. method clickNext() is // Ничего не делать. method clickPrevious() is // Ничего не делать. // Конкретные состояния сами могут переводить контекст в другое // состояние. class ReadyState extends State is method clickLock() is player.changeState(new LockedState(player)) method clickPlay() is player.startPlayback() player.changeState(new PlayingState(player)) method clickNext() is player.nextSong() method clickPrevious() is player.previousSong() class PlayingState extends State is method clickLock() is player.changeState(new LockedState(player)) method clickPlay() is player.stopPlayback() player.changeState(new ReadyState(player)) method clickNext() is if (event.doubleclick) player.nextSong() else player.fastForward(5) method clickPrevious() is if (event.doubleclick) player.previous() else player.rewind(5) // Проигрыватель выступает в роли контекста. class Player is field state: State field UI, volume, playlist, currentSong constructor Player() is this.state = new ReadyState(this) // Контекст заставляет состояние реагировать на // пользовательский ввод вместо себя. Реакция может быть // разной, в зависимости от того, какое состояние сейчас // активно. UI = new UserInterface() UI.lockButton.onClick(this.clickLock) UI.playButton.onClick(this.clickPlay) UI.nextButton.onClick(this.clickNext) UI.prevButton.onClick(this.clickPrevious) // Другие объекты тоже должны иметь возможность заменять // состояние проигрывателя. method changeState(state: State) is this.state = state // Методы UI будут делегировать работу активному состоянию. method clickLock() is state.clickLock() method clickPlay() is state.clickPlay() method clickNext() is state.clickNext() method clickPrevious() is state.clickPrevious() // Сервисные методы контекста, вызываемые состояниями. method startPlayback() is // ... method stopPlayback() is // ... method nextSong() is // ... method previousSong() is // ... method fastForward(time) is // ... method rewind(time) is // ...

Применимость

Когда у вас есть объект, поведение которого кардинально меняется в зависимости от внутреннего состояния, причём типов состояний много, и их код часто меняется.

Паттерн предлагает выделить в собственные классы все поля и методы, связанные с определёнными состояниями. Первоначальный объект будет постоянно ссылаться на один из объектов-состояний, делегируя ему часть своей работы. Для изменения состояния в контекст достаточно будет подставить другой объект-состояние.

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

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

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

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

Шаги реализации

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

  2. Создайте общий интерфейс состояний. Он должен описывать методы, общие для всех состояний, обнаруженных в контексте. Заметьте, что не всё поведение контекста нужно переносить в состояние, а только то, которое зависит от состояний.

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

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

    Самый простой — оставить поведение внутри контекста, вызывая его из объекта состояния. С другой стороны, вы можете сделать классы состояний вложенными в класс контекста, и тогда они получат доступ ко всем приватным частям контекста. Но последний способ доступен только в некоторых языках программирования (например, Java, C#).

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

  5. Старые методы контекста, в которых находился зависимый от состояния код, замените на вызовы соответствующих методов объекта-состояния.

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

Преимущества и недостатки

Отношения с другими паттернами

Реализация на различных языках программирования

refactoring.guru

Паттерн Состояние (State pattern) – Шванов Вадим

using System;

 

namespace State

{

    /// <summary>

    /// Заблокированное состояние счета.

    /// </summary>

    public class Blocked : IState

    {

        /// <summary>

        /// Пополнить счет.

        /// </summary>

        /// <param name="card"> Пополняемый счет. </param>

        /// <param name="money"> Сумма пополнения. </param>

        public void Deposit(Card card, decimal money)

        {

            // Проверяем входные аргументы на корректность.

            if (card == null)

            {

                throw new ArgumentNullException(nameof(card));

            }

 

            if (money <= 0)

            {

                throw new ArgumentException("Вносимая сумма должна быть больше нуля.", nameof(money));

            }

 

            // Вычисляем сумму сверхлимитной задолженности.

            var overdraft = card.CreditLimit - card.Credit;

 

            // Вычисляем насколько сумма пополнения перекрывает задолженность.

            var difference =  money - overdraft;

 

            if (difference < 0)

            {

                // Если сумма пополнения не перекрывает задолженность,

                // то просто уменьшаем сумму задолженности.

                card.Credit += money;

 

                // Вычисляем процент оставшейся суммы на счете.

                var limit = card.Credit / card.CreditLimit * 100;

                if (limit < 10)

                {

                    // Если после пополнения на счете все еще меньше десяти процентов от лимита,

                    // то просто сообщаем об этом пользователю.

                    Console.WriteLine($"Ваш счет пополнен на сумму {money}. " +

                        $"Сумма на вашем счете все еще составляет менее 10%. Ваш счет остался заблокирован. Пополните счет на большую сумму.  {card.ToString()}");

                }

                else if (limit >= 10 && limit < 100)

                {

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

                    card.State = new UsingCreditFunds();

 

                    Console.WriteLine($"Ваш счет пополнен на сумму {money}. Задолженность частично погашена. " +

                        $"Погасите задолженность в размере {Math.Abs(difference)} рублей. {card.ToString()}");

                }

                else

                {

                    // Иначе задолженность полностью погашена, переводим в состояние расходования собственных средств.

                    card.State = new UsingOwnFunds();

 

                    Console.WriteLine($"Ваш счет пополнен на {money} рублей. Задолженность полностью погашена. {card.ToString()}");

                }

            }

            else

            {

                // Иначе закрываем задолженность, а оставшиеся средства переводим в собственные средства.

                card.Credit = card.CreditLimit;

                card.Debit = difference;

 

                // Переводим карту в состояние использования собственных средств.

                card.State = new UsingOwnFunds();

 

                Console.WriteLine($"Ваш счет пополнен на {money} рублей. " +

                    $"Кредитная задолженность погашена. {card.ToString()}");

            }

        }

 

        /// <summary>

        /// Расходование со счета.

        /// </summary>

        /// <param name="card"> Счет списания. </param>

        /// <param name="price"> Стоимость покупки. </param>

        /// <returns> Успешность выполнения операции.</returns>

        public bool Spend(Card card, decimal price)

        {

            // Отказываем в операции.

            Console.WriteLine($"Ваш счет заблокирован. Пополните счет.  {card.ToString()}");

            return false;

        }

    }

}

shwanoff.ru

rumagic.com : Паттерны поведения : Дэвид Гордон : читать онлайн

Паттерны поведения

В форте Беннинг, штат Джорджия, я тренировал команду снайперов для международных командных соревнований по стрельбе. Однажды я обедал в зале войсковой столовой с двумя лейтенантами, и тут вошли несколько человек, и я заметил, как одна девушка взяла поднос и стала оглядывать столовую в поисках подходящего столика. Она прошла мимо нескольких столиков, где были свободные места... и села туда, где она могла сидеть с западной стороны столика. Я сказал лейтенантам: «Эта девушка — единственный ребенок в семье». Они спросили: «Откуда вы знаете?» — «Я вам скажу, только сначала проверьте, так ли это». Они пошли и спросили ее, правда ли, что она единственный ребенок в семье... и она ответила: «Да». Она поинтересовалась, почему они ее об этом спрашивают. И они сказали: «Вон тот доктор сказал, что вы единственный ребенок». — «А кто это?» Они назвали ей мое имя. «Я никогда о нем не слышала». Они вернулись... как же я узнал, что она единственный ребенок? Она оглядывала столовую в поисках столика, где она могла сесть, и в результате нашла столик, где свободной была западная сторона. Потому что дома папа сидел вот здесь, мама сидела здесь, а ей оставалось сесть здесь. В поведении людей множество. паттернов, и не пытайтесь все их сформулировать. Просто ждите, и вы увидите, как они будут проявлять себя.

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

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

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

Как часто семейные проблемы представляют собой сущие пустяки. Супружеские пары обращаются ко мне и говорят... мы любим друг друга и наслаждаемся сексом, но когда мы пытаемся заснуть... каждая ночь заканчивается жутким скандалом. Каждую ночь, когда мы пытаемся уснуть, мы начинаем ссориться. А ведь мы любим друг друга, наша сексуальная жизнь в полном порядке, но когда мы ложимся спать, мы начинаем ссориться. И какая мысль первой приходит вам в голову? Как вы думаете, из-за чего они ссорятся? Я говорю им: «Вы оба выросли с привычкой спать на правой стороне постели или на левой стороне — поэтому вы и ссоритесь, когда ложитесь спать, что либо ВЫ оказываетесь на неудобной для вас стороне постели, либо ОН». В моей собственной семье тоже был случай, когда Майк и Арчи спали однажды ночью в одной постели, а оба они привыкли спать на правой стороне. О, какой скандал закатили Арчи и Майк, пытаясь устроиться поудобнее! То Арчи спал на правой стороне, и тогда Майк оказывался не с той стороны, то наоборот, и они никак не могли успокоиться.

Одним из способов размышления о ситуации клиента является рассмотрение возможности того, что он использует паттерн поведения, неэффективный или неадекватный в контексте, в котором используется этот паттерн. К примеру, если человек все время «предоставляет супруге право решать, какой фильм смотреть, то в контексте супружеских отношений этот паттерн вполне уместен; но если этот человек будет использовать тот же паттерн в обществе своих коллег на заседаниях правления компании, его репутация окажется под угрозой. Если он желает оказывать какое-либо влияние на будущее своей компании, то должен уметь открыто выражать свое мнение о том, в каком направлении ей следует развиваться. Аналогичным образом пианист, которого охватывает при выходе на сцену такой страх, что он не может играть, использует паттерн поведения, который, возможно, являлся бы полезным, если бы его попросили выполнить некую физически опасную задачу (к примеру, полететь на дельтаплане без предварительной подготовки), однако в контексте фортепианного концерта он неуместен. Таким образом, наша задача — не избавиться от некоторых форм поведения, а контекстуализировать их уместным образом, ограничивая эти формы поведения теми сферами, где их использование уместно, а также формируя или вызывая паттерны поведения, уместные в других контекстах. С точки зрения поведенческих изменений член правления компании добивается от вас как от своего психотерапевта изменения паттерна его поведения таким образом, чтобы в контексте заседаний правления он мог заявить о своих предпочтениях, а пианист хочет обрести способность без страха выходить на сцену и исполнять свою программу.

Чем же в таком случае определяется то, когда человек демонстрирует тот или иной КОНКРЕТНЫЙ паттерн поведения? Существует несколько способов ответить на этот вопрос. Одним из них является указание на то, что индивиды демонстрируют те паттерны поведения, которые они сами обучились использовать в данном контексте или которым их научили другие люди. К примеру, вас в раннем возрасте могли научить уступать желаниям других, когда возможен выбор вариантов. Другой способ объяснить систематическое проявление поведенческих паттернов — указать на то, что они являются логическим следствием совокупности обобщений, которыми руководствуется человек в рамках конкретного контекста. К примеру, убеждение в том, что другие люди будут любить вас, если вы будете уступать их желаниям, может найти внешнее выражение в передаче выбора другим. В первом случае реакции человека в рамках определенного контекста являются функцией форм поведения, которые были им сформированы или усвоены, тогда как во втором его реакции являются функцией совокупности убеждений или обобщений, приобретенных тем или иным способом. Разумеется, ни одно ни другое описание не является однозначно верным, — это две стороны одной медали. Когда опыт (либо в форме прямых указаний, либо в форме благоприятного стечения обстоятельств) моделирует ваше поведение в рамках определенного контекста, наряду с новыми поведенческими привычками формируются обобщения и критерии, конгруэнтные данным формам поведения. И напротив, изменение ваших обобщений или критериев в отношении определенного контекста приведет к поведенческим изменениям, конгруэнтным этим изменениям в вашей модели мира. Иными словами, то, каким образом вы будете реагировать (вести себя) в данном контексте, будут определять ваши убеждения относительного того, что хорошо, а что плохо, что полезно, а что вредно, что интересно или важно, а что опасно в конкретном контексте.

Таким образом, тот референтный опыт (критерии/убеждения/ обобщения), в пользу которого вы будете производить сортировку, в значительной степени определит характер уместного поведения в рамках соответствующего контекста, однако верно также и то, что поведенческий опыт модифицирует существующие обобщения или формирует новые (посредством пересортировки критериев). Предметом рассмотрения предыдущей главы являлось то, как Эриксон использовал точки зрения своего клиента (то есть его референтный опыт) в качестве средства для изменения его привычного поведения и достижения за счет этого более глубоких изменений. В этой главе мы рассмотрим то, как Эриксон использует паттерны поведения клиента с целью полезного изменения его точки зрения и за счет этого добивается более глубоких изменений.

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

rumagic.com

Содержание и паттерны поведения. Феникс. Терапевтические паттерны Милтона Эриксона

Содержание и паттерны поведения

Содержание проблемы вашего клиента включает конкретных людей и места, которые вовлечены в ситуацию клиента, перечисление нежелательных форм поведения и чувств клиента, а также перечисление конкретных результатов, которых клиент хочет достичь. Возьмем, к примеру, высказывание: «Это одиночество... я не знаю, в чем дело, но я просто не могу представить себе, что у меня наладились удовлетворительные отношения с женщиной». Выраженное и предполагаемое содержание в высказывании этого человека включает следующее: его проблема состоит в отношениях с «женщинами», в настоящее время он «одинок», и он хочет иметь «удовлетворительные отношения». Иными словами, содержание проблемы определяется смысловым значением отдельных слов, используемых в описании этой проблемы. В отличие от содержания паттерны поведения представляют собой то, что клиент систематически или характерным образом демонстрирует в своем поведении в связи с этими содержательными различениями. Поскольку в приведенном выше примере отсутствуют описания поведения или последовательности событий (а лишь цепочка абстрактных существительных и выражений — «одиночество», «удовлетворительные отношения» и «женщина»), выделить из его фразы какие-либо поведенческие паттерны мы не можем. В этом примере отсутствует описание того, как именно этот человек формирует свои обобщения, касающиеся «отношений» с женщинами. Допустим, мы выяснили следующее: «Ну, я встретил одну женщину вчера вечером, и она показалась мне привлекательной, но когда я подошел, чтобы заговорить с ней, я был в состоянии думать лишь о том, правильно ли я себя веду... я так волновался по этому поводу, что не смог придумать, что сказать». Это повествование обеспечивает нас определенной информацией, касающейся последовательности демонстрируемых клиентом форм поведения. Иными словами, он подходит к женщине, которая кажется ему привлекательной, «волнуется» по поводу своего поведения и не может ничего сказать. (Очевидно, что многие обстоятельства остаются неуточненными, но теперь мы, по крайней мере, располагаем некоторой информацией, касающейся последовательности форм поведения в контексте знакомства с женщинами.) В нашем примере речь идет о последовательности, но вовсе не обязательно о паттерне. Если же мы выясним, что эта последовательность повторяется всякий раз, когда клиент пытается познакомиться с женщиной, которая кажется ему привлекательной, то мы можем идентифицировать паттерн — последовательность форм поведения, характерную для некоторого конкретного контекста.

Как уже говорилось ранее, любые формы поведения могут быть полезными в рамках ТОГО ИЛИ ИНОГО контекста, поэтому важно понять, в каких контекстах клиент демонстрирует те формы поведения, которые он хочет изменить. Если вы обнаружите, что эти формы поведения неадекватно используются во многих контекстах, вы, вероятно, захотите расширить сферу применения своего терапевтического вмешательства. В то же время вы предпочтете оставить без изменений те контексты, в которых поведение вашего клиента является эффективным. Каким же ЯВЛЯЕТСЯ контекст в вышеприведенном примере? «Знакомство с привлекательными женщинами»? В ходе дальнейших расспросов мы можем выяснить, что клиент демонстрирует ту же последовательность форм поведения при знакомстве с ЛЮБОЙ женщиной или при встрече с любым НОВЫМ человеком. Если мы также обнаружим, что этот человек оказывается несостоятельным, когда пытается подать своему начальнику предложение, касающееся изменений и возможностей развития бизнеса, можно не сомневаться, что контекстом данного паттерна поведения является не «знакомство с женщинами» и не «встреча с новыми людьми», а более широкий контекст, возможно, состоящий в «попытке произвести на кого-то впечатление». Таким образом, контекст описывает то, когда паттерн поведения имеет место, и может быть связан с тем, «кто» принимает участие в ситуации (Эдит, секретарши, привлекательные женщины, все женщины, все люди и т. д.), «где» все происходит (дома, в автобусе, на работе и т. д.), «когда» (утром, в три часа ночи и т. д.), какой «вид деятельности» налицо (знакомство, попытки произвести впечатление, приготовление обеда и т. д.).

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

Однажды ко мне пришел человек, имеющий около 35 килограммов избыточного веса, и сказал: «Я отставной полицейский, уволен по состоянию здоровья. Я слишком много пью, слишком много курю, слишком много ем... у меня эмфизема и повышенное артериальное давление. Я хотел бы заняться оздоровительным бегом, но не могу... я могу только ходить. Можете ли вы помочь мне?» Я ответил: «Хорошо. А где вы покупаете сигареты?» Он сказал: «Рядом с моим домом есть маленький уютный магазинчик». Тогда я спросил: «А кто готовит вам обед?» Он ответил: «Я не женат... я обычно готовлю сам». — «А где вы покупаете продукты?» — «В том же уютном магазинчике за углом». «Сколько сигарет вы покупаете за раз?» —«Обычно я беру по три блока сразу». — «И вы обычно сами готовите... а где вы обедаете вне дома?» Он ответил: «В очень милом ресторанчике рядом с домом». Я спросил: «Так, а спиртное?» — «Рядом с моим домом есть очень уютная винная лавочка». Тогда я сказал: «Итак, вы отставной полицейский, и вы хотите привести в норму давление и избавиться от тучности и эмфиземы, и вы покупаете сигареты по три блока за раз. Я думаю, терапия не потребует очень много времени. Можете курить сколько хотите... только теперь покупайте по одной пачке за раз на другом конце города и ходите туда пешком. Что касается самостоятельного приготовления обеда — свободного времени у вас достаточно, поэтому ходите за продуктами по три раза в день. Покупайте продуктов на один прием пищи, про запас ничего не берите. Что касается обедов вне дома, есть масса хороших ресторанов километрах в двух-трех от вашего дома... это даст вам возможность прогуляться. Что касается выпивки... нет никаких возражений против выпивки. В паре километров отсюда есть несколько превосходных баров. Первую рюмку выпивайте в одном баре, а вторую — в другом, в полутора километрах от первого. И скоро вы будете в отличной физической форме». Он вышел из кабинета, ругая меня весьма затейливо. А теперь о том, почему мне пришлось обращаться с ним таким образом. Он был отставной полицейский... он знал, что такое дисциплина, а вся его проблема была исключительно вопросом дисциплины. И он никак не мог ослушаться моих предписаний. Он вышел, цветисто ругаясь... он был очень красноречив. Примерно через месяц ко мне пришел другой пациент и сказал: «Мой друг порекомендовал мне обратиться к вам. Он отставной полицейский. Он сказал, что вы единственный психиатр, который знает, что говорит».

В приведенном примере жалобы отставного полицейского включали несколько содержательных сфер: курение, выпивка, тучность, эмфизема и кровяное давление. Однако в этом примере для нас важно осознать, что паттерн поведения, подкрепляющий все эти столь различные содержательные сферы, был одним и тем же: каждый раз, когда этот отставной полицейский хотел купить что-либо, он приобретал это способом, требующим минимальных затрат энергии. Выяснение того, «почему» он курил, «почему» пил и «почему» переедал, почти наверняка вызвало бы с его стороны оправдания, включающие три новые содержательные сферы (вероятно: «Я курю, чтобы РАССЛАБИТЬСЯ, выпивка помогает мне забыть о моей бывшей ЖЕНЕ, а еда отвлекает меня от СКУКИ»). Эриксон понимает, что различные проблемы отставного полицейского — на уровне паттерна — это одна и та же проблема. Поэтому вместо того чтобы разбираться с содержанием жалоб клиента, Эриксон изменяет паттерн поведения, из-за которого все эти проблемы вообще возникают. Иными словами, Эриксон предписывает этому человеку удовлетворять свои потребности в пище, алкоголе и сигаретах максимально энергоемким способом, приобретая их в минимальных количествах. Тем самым Эриксон гарантирует, что потребление бывшим полицейским продуктов, которыми он склонен злоупотреблять, автоматически будет снижено и что одновременно он будет давать своему организму нагрузку, необходимую для возвращения физической формы. (Заметьте, что, по словам самого Эриксона, именно использование того факта, что бывший полицейский был приучен к дисциплине, — его субкультуры, — позволило Эриксону установить раппорт, в котором он нуждался для осуществления своего вмешательства. Именно благодаря тому, что в прошлом клиент подчинялся строгой дисциплине, Эриксон был убежден, что отставной полицейский будет следовать его жестким инструкциям. См. главу 3, раздел «Культурный раппорт»).

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

Поделитесь на страничке

Следующая глава >

psy.wikireading.ru

rumagic.com : Идентификация паттернов поведения : Дэвид Гордон : читать онлайн

Идентификация паттернов поведения

Поведение людей о многом вам расскажет, если вы будете обращать внимание на их привычки. Один практикант в больнице округа Уэйн как-то попросил меня: «Доктор Эриксон, к нам только что прибыл новый пациент, и мне бы хотелось, чтобы вы прошли в блок Д, спустились на лифте и прошли прямо по коридору в комнату медсестер... там буду сидеть я спиной к вам, и я хочу, чтобы вы поглядели направо и налево и опознали пациента, которого привезли сегодня. А затем вы пройдете в комнату медсестер и укажете на него мне». И вот я прошел по коридору, глядя влево и вправо, зашел в комнату медсестер и говорю: «Луи, это вы — дурак, а не я. Этот человек стоит вон там, рядом, в боковом коридоре». Он спросил меня: «Как вы узнали?» И я сказал: «Он стоит руки по швам, смотрит прямо перед собой, а его пятки на IS сантиметров оторваны от пола. Этот человек десять лет провел в тюрьме». На что Луи ответил: «Вы ошиблись, он провел в тюрьме двенадцать лет». Люди с легкостью показывают все что угодно. А большинство психотерапевтов даже не пытаются понять, что клиенты им демонстрируют своим поведением. Однако мы всегда что-то сообщаем людям, и надо это осознавать.

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

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

На что следует обращать внимание при вычленении паттернов? Существует множество полезных различений, относящихся к теме идентификации паттернов, но пока для нас важнее всего сортировка в поисках повторяемости, а также использование противопоставлений как средства осуществления такой сортировки. Даже описание лишь одного примера проблемной ситуации клиента несомненно предоставит вам информацию, которую вы сможете описать в виде последовательности реакций и форм поведения, однако нельзя быть уверенным в том, что описанное вами поведение представляет собой паттерн, пока вы не противопоставите ему как минимум один другой пример проблемной ситуации, чтобы выяснить, характеризуется ли этот пример той же последовательностью, которую вы идентифицировали. Давайте используем в качестве иллюстрации пример с тучным полицейским и представим, что задаем ему вопросы. В ответ на его жалобу по поводу переедания мы спросим его, что он ел вчера на обед. Он ответит, что ел пельмени «в очень милом ресторанчике рядом с домом». Итак, что в его ответе, с точки зрения поведения, является релевантной (то есть характеризующей паттерн) информацией? Неизвестно. Возможно, тот факт, что он выбрал пельмени, а возможно, и то, что ресторан находился рядом с домом (а может быть, даже то, что ресторан был «милым»). Нуждаясь в другом примере для сравнения, мы спросим его, что он ел вчера на завтрак, на что он ответит: «Я ел салат в ближайшем ресторане». Эта информация уже дает нам основание для выделения паттерна. По крайней мере мы можем сказать, что в обоих описанных до сих пор случаях заказ крахмалистой пищи НЕ являлся характерным для его поведения, а выбор ресторана, находящего неподалеку, являлся. Таким образом, можно предположить, что в контексте приема пищи посещение ближайших мест представляет собой паттерн поведения этого полицейского. Несколько дополнительных примеров, касающихся питания этого полицейского, послужат либо укреплению нашей уверенности в правильности предсказания паттерна его поведения, либо, напротив, разуверят нас в этом. Несомненно, в случае с полицейским информация, касающаяся его поведения в других контекстах (курения и выпивки), свидетельствует о том, что данный паттерн его поведения является кросс-контекстным. И снова оказывается, что при вычленении паттернов поведения из описаний, предоставляемых вашими клиентами, вы должны производить сортировку в поисках повторений последовательности форм поведения, демонстрируемых в аналогичных контекстах. Далее следуют два прекрасных примера того, как Эриксон обращает внимание на повторение последовательностей форм поведения (паттернов) и тестирует свои предположения.

Люди постоянно выдают себя. Ко мне за терапией обратилась женщина... когда моя жена вызвала меня осмотреть эту пациентку, она сидела в моем кабинете вот так... [Эриксон скрещивает руки на груди, затем переплетает одну руку вокруг другой и жестом показывает, что так были скрещены ноги пациентки]. Я занял свое место, спросил, как ее зовут и в чем ее проблема, и она сказала: «У меня фобия на самолеты. Я смертельно боюсь самолетов, а мой муж собирается взять меня за границу в сентябре. Я ужасно боюсь». Я сказал ей: «Мадам, я не видел, как вы вошли и сели. Будьте добры выйти в другую комнату, а затем снова войти и сесть». Она удивилась моей просьбе, но прошла в другую комнату, вернулась и села. Тогда я сказал: «Мадам, вы обращаетесь к психиатру со своими проблемами, потому что не понимаете, в чем они состоят, а потому вы не можете по-настоящему описать их. Итак... вы должны рассказать своему психиатру все, что возможно, если хотите, чтобы он помог вам. Я хочу задать вам вопрос... это неприятный вопрос... это невежливый вопрос, но он имеет прямое отношение к делу, и вы должны ответить на него. Вы готовы?» Она ответила: «Да». И я спросил: «Мадам, ваш муж знает о вашей любовной связи?» Она ответила: «Нет, но откуда ВЫ знаете?» Откуда я узнал? Она вышла из комнаты, снова вошла и села. Она уселась в характерной защитной позе. Ее ноги были переплетены... очень хорошее прикрытие. И я слышал, как она сказала: «Мой муж собирается ВЗЯТЬ МЕНЯ за границу, и я боюсь».

Я расскажу вам еще одну историю. Ко мне в Мичиган приехала женщина и сказала: «Я боюсь, что подцепила гонорею или сифилис. У меня были случайные половые связи; мой муж об этом не знает. Я прошла медицинское обследование у двадцати шести докторов, и все они объявили меня совершенно здоровой. Некоторые даже держали меня в больнице по две недели, делали всякие анализы. Но Я УВЕРЕНА, что со мной что-то не так». И я сказал: «С вами действительно что-то не так... большинство людей убеждают результаты ОДНОГО обследования, проведенного ОДНИМ врачом. Вы прошли двадцать шесть обследований, несколько госпитализаций, и все сказали вам, что с вами все в порядке, а теперь вы обращаетесь к психиатру. Разумеется, я могу лишь предполагать, что именно с вами не так, и я собираюсь задать вам очень специфический вопрос и хочу получить до конца честный ответ, даже если мой вопрос покажется вам странным. Когда вас обследовали, вам прощупывали грудь?» — «Да». — «Не доводилось ли вам во время обследований делать нечто неожиданное или странное?» «Я всегда чихала, когда дотрагивались до моей правой груди». Тогда я сказал: «Вы чихали каждый раз, когда двадцать шесть докторов дотрагивались до вашей правой груди. И все они, разумеется, вежливо отводили руку и прекращали обследование вашей правой груди». Она ответила: «Да». Я сказал: «Вот что. Сейчас я позвоню местному хирургу, которого я очень хорошо знаю, я назову ему ваше имя и попрошу его немедленно вас принять. Вы поедете к нему, и вы услышите наш разговор по телефону». Я сказал: «Доктор Хендерсон, в моем кабинете находится пациентка, правую грудь которой нужно очень тщательно обследовать ...я не специалист в этом вопросе. Она приедет к вам на прием, но Я ДУМАЮ, что больше она к вам не придет. Поэтому как только вы обследуете ее правую грудь, если вам что-то покажется подозрительным, не отпускайте ее домой, а забирайте ее прямо в больницу». Хендерсон позвонил мне после того, как направил ее в больницу: «У нее карцинома... рак груди».

Когда женщина выписалась из больницы, она сказала: «Как мне теперь появляться на людях, когда я такая кособокая?». Я ответил: «Если ХОТИТЕ — будьте кособокой. Никакие законы не запрещают вам купить протез такого же размера, как ваша вторая грудь, купить специальный бюстгальтер, вложить в него этот протез и научиться держать левое плечо чуть выше, чтобы вес вашей левой груди не тянул вас на сторону». Я встретил ее пять лет спустя... и она спросила: «Какую грудь мне удалили?» Я ответил: «Ваши плечи на одном уровне. Я не знаю». Скольким женщинам удаляют грудь, а затем они испытывают всевозможного рода психологические неудобства, потому что стали плоскими с одной стороны?... А ведь протезы можно купить где угодно — так Я ДУМАЮ!»

В первом из приведенных выше примеров Эриксон замечает, что женщина сидит в позе, которая кажется ему проявлением защитной реакции, а также обращает внимание на характерное ударение на словах «ВЗЯТЬ МЕНЯ». С целью выяснить, являлась ли такая поза характерной для поведения этой женщины, когда она произнесла «ВЗЯТЬ МЕНЯ», или это было чистой случайностью, Эриксон просит ее войти и сесть еще раз. Ее поведение подтверждает паттерновый характер выделенных им различений, на основании чего он и выстраивает предположение о ее вероятной внебрачной связи. Аналогичным образом, во втором примере у Эриксона есть определенные представления о том, что «не так» с его клиенткой, но именно идентификация ее паттерна поведения во время обследований становится объяснением ее ситуации.

Мы хотим привлечь ваше внимание к тому факту, что случай с женщиной, которую Эриксон попросил повторно сесть, указывает на крайне важный источник поведенческой информации, состоящий в том, что, описывая свою проблемную ситуацию, ваш клиент будет демонстрировать при этом важные аспекты своего поведения, характерного для проблемного контекста. Если вы соотнесете слова клиента с его выражениями лица, телодвижениями, интонацией и т. д., то вскоре обнаружите, что ваш клиент ДЕЛАЕТ то, о чем он рассказывает. Кроме того, то, как ваш клиент входит в комнату, выбирает стул, передает вам гонорар и т. д., — все это представляет собой поведенческие проявления его модели мира. Эти формы поведения предоставляют информацию, которую вам следует использовать или игнорировать в зависимости от того, какие корреляционные паттерны (повторения) вы наблюдаете.

Когда ваш клиент описывает конкретный пример своей проблемной ситуации, определите для себя, что он делал (и делает в настоящий момент) с точки зрения своего поведения, — иными словами, на что или на кого он реагирует, когда, где, каким образом и в какой последовательности? Затем попросите его дать описание другого примера проблемной ситуации. Имея эти две репрезентации аналогичных проблемных контекстов для противопоставления, вы получаете возможность произвести сортировку описанных (и продемонстрированных в вашем кабинете) поведенческих последовательностей в поисках общих элементов. Если имеют место расхождения, которые вы считаете нужным конкретизировать, или недостаток информации, необходимой вам для сравнения, или если вы нуждаетесь в дальнейшем подтверждении того, что идентифицированное вами характерное поведение клиента имеет статус ПАТТЕРНА, вы можете попросить его дать описание третьего примера для проведения дополнительной сортировки в поисках сходства. Вам проще будет выяснить эту информацию, если вы сначала идентифицируете для себя начало и конец последовательности форм поведения клиента (иными словами, какие события во внешнем мире запускают паттерн и как он заканчивается). Затем вы можете распутывать клубок с начала или с конца, заполняя недостающие детали последовательности. Задав себе точки привязки начала и конца паттерна, вы уменьшаете вероятность того, что запутаетесь в хитросплетениях опыта вашего клиента или потеряете нить из-за недостатка или избытка сообщаемой информации. Затем помогите клиенту восстановить «упу-щенные детали, сопоставляя их с описаниями других примеров проблемной ситуации клиента, и найдите точки синхронизации. Когда вы определите для себя паттерн, производящий впечатление релевантного, точного и последовательного, можно перейти к самому важному шагу — проверке. Мы настоятельно рекомендуем, чтобы вы проверяли выделенные вами паттерны, и делаем это по двум причинам. Первая состоит в том, что подобная демонстрация послужит вам прекрасным опытом изучения паттернового поведения людей в целом. Вторая — в том, что проверка предоставит вам возможность подтвердить и, если нужно, уточнить свою оценку.

Для проверки точности и сферы распространения идентифицированного вами поведенческого паттерна можно попросить клиента привести дополнительные примеры, которые вы затем проанализируете с точки зрения соответствия этому паттерну. Однако лучше всего проверить точность ваших предположений, проведя поведенческую демонстрацию в вашем кабинете. Поскольку проблемный контекст вам ИЗВЕСТЕН, вы можете использовать собственное' (или чье-то еще) поведение, чтобы организовать ситуацию, ВОССОЗДАЮЩУЮ этот контекст «здесь и сейчас», и таким образом получить возможность не только выяснить, будет ли ваш клиент реагировать в соответствии с идентифицированным вами паттерном, но и непосредственно пронаблюдать за ПОВЕДЕНЧЕСКОЙ демонстрацией реакций вашего клиента в рамках проблемного контекста и за самим этим контекстом.

Допустим, к примеру, что ваш клиент жалуется на то, что качество его работы, по его мнению, не удовлетворяет его начальника. На основании приведенных им примеров этой проблемы вы обнаружите, что все контексты, которые он описывает, связаны с «ожиданиями выполнения определенных задач» и что паттерн его поведения в данном контексте включает согласие на выполнение этих задач, беспокойство о качестве конечного продукта, а затем работу над задачей мелкими порциями и таким образом растягивание ее выполнения во времени (и в конечном итоге срыв сроков). Чтобы проверить правильность своей идентификации контекста и паттерна поведения, скажите своему клиенту, что хотите, чтобы он вошел в транс на пятнадцать минут или в течение двух минут рассказывал вам то, что вы должны знать о его семейной истории и т. п. В этом случае вы создаете для клиента контекст (временные ограничения), сходный с тем, в котором проявляются его проблемы. Если клиент отреагирует на ваши просьбы (возможным) согласием, но затем будет входить в транс медленно или не войдет в него вовсе либо если во втором случае его рассказ займет значительно больше двух минут и будет включать многочисленные «лишние» детали, касающиеся истории его семьи, значит, установленный вами паттерн подтверждается и, что еще более важно, вы получаете возможность наблюдать и слушать, как реагирует ваш клиент в рамках данного контекста. Если же клиент НЕ реагирует образом, соответствующим ранее идентифицированному вами паттерну, мы получаем возможность произвести сортировку в поисках различий между ситуацией, которую он описал, и ситуацией, которую мы создали (на основании чего можно произвести корректировку значимого контекста, корректировку самого паттерна или расхождений между восприятием клиента и его реальным поведением в рамках проблемного контекста).

Такие поведенческие тесты являются не только способом проверки правильности ваших предположений, касающихся паттернов поведения вашего клиента, но, вероятно, и наилучшим источником получения информации об этих паттернах. Мы рекомендуем при проведении поведенческого теста следить за тем, чтобы ВАШЕ поведение было конгруэнтным с тестовым контекстом, который вы создаете для вашего клиента, поскольку реакции и формы поведения, вызываемые вами у клиента, должны быть связаны с данным контекстом, а не являться результатом понимания или ощущения клиентом того, что его «разыгрывают», «разоблачают» или «раскалывают». Если ПОСЛЕ того, как вы побудили клиента к демонстрации своего поведения, вы нуждаетесь в дополнительной информации, касающейся внутреннего опыта вашего клиента, можете сообщить ему, что это было проверкой паттерна, а затем попросить клиента использовать эту демонстрацию в качестве недавнего и свежего примера с целью идентификации его внутренних переживаний.

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

Я покинул ферму много лет назад, как и моя младшая сестра. На ферме у нас было принято ужинать (В Великобритании и США второй прием пищи, по времени соответствующий нашему обеду, называется ланчем, а прием пищи после окончания рабочего дня, нередко последний прием пищи в сутки, у горожан называется обедом. Слово «supper» — ужин — кажется современным горожанам устаревшим и непривычным. — Прим. перев.): обедали мы в полдень, а вечером ужинали. И вот мы покинули ферму и с тех пор живем в городе. Моя сестра совершила пару кругосветных путешествий и заехала навестить меня. Я не видел ее уже несколько лет. Мы говорили о разных достопримечательностях, которые она посетила во время своих поездок, и вдруг моя жена услышала, как мы произнесли слово «ужин». Моя жена родилась и выросла в Детройте, а мы с сестрой называли «ужином» вечерний прием пищи. Моя жизнь на ферме оставила свой след, а встреча с сестрой пробудила во мне этот паттерн. И когда я наблюдаю за людьми, я пытаюсь определить, кем были их родители... но стараюсь не исходить из заранее сформированных представлений. Ищите сначала одно свидетельство, затем другое, и очень скоро вы накопите достаточное количество информации. Вы устанавливаете паттерны путем соединения мельчайших элементов информации и всех своих наблюдений. И если выискивать паттерн поведения мальчика с фермы, придется ограничивать себя. И если выискивать паттерн поведения городского мальчика, тоже придется себя ограничивать.

rumagic.com


Prostoy-Site | Все права защищены © 2018 | Карта сайта