что такое поведенческие паттерны
Что такое паттерн
Ежедневно мы совершаем автоматические действия различной направленности: от утренних процедур до вечерних способов времяпрепровождения. У нас есть свой способ держать чашку, сидеть за столом, мыть посуду, заправлять постель. Многие дела делаются без размышлений и как бы по шаблону. Такие действия принято в психологии называть паттернами.
Подробнее о том, что такое «паттерн» и можно ли его сформировать читайте в статье.
Паттерн: что это?
Паттерн – это особая поведенческая реакция, шаблонное действие, применяемое человеком в обыденной жизни на постоянной основе. Происхождение понятия – от английского понятия «pattern», что в переводе означает образец, стереотип.
Паттерны касаются не только ежедневных ритуалов и способов домашнего поведения. Паттерны применяются во всех сферах деятельности, где есть автоматически производимые действия.
К примеру, музыкант автоматически открывает футляр и вынимает инструмент, настраивает его, усаживается на стул, принимая обычную позу.
Друзья при встрече обмениваются рукопожатиями или объятиями также инстинктивно, по привычке. Ученый-химик привычно расставляет в лаборатории пробирки и реактивы, настраивает весы, приборы и устанавливает порядок действий для поведения опытов.
Литератор автоматически раскладывает на столе нужные книги и статьи, и даже привычный, автоматически приготовленный кофе в этом случае может выступать паттерном.
Понятие «паттерн» в психологии
Паттерн в психологии обозначает целый набор действий, выполняемых в режиме стереотипа. Образование паттерна в головном мозге происходит аналогично образованию привычки. Как только активизируется одна часть паттерна, автоматически воспроизводится полная модель дальнейших действий либо мыслительный процесс.
К примеру, запах мандаринов активирует воспоминания о новогодних праздниках, вид манной каши – воспоминания о завтраках в детском саду и т.д.
Известно, что использование паттернов происходит осознанно и неосознанно. Каждое мгновение человек не может контролировать производимые действия или мысли.
Если бы это было так, сознание бы не выдержало таких колоссальных объемов деятельности. Нервная система предпочитает использовать готовый шаблон деятельности, нежели на каждый вид придумывать что-то новое.
Да и набор действий во многих ситуациях и случаях будет идентичным. Ведь невозможно чистить зубы или пить кофе каждый день разными способами, также как невозможно здороваться с другом, используя непривычные приемы.
Читайте также: Как изменить себя
Паттерны поведения
Паттерны поведения – как раз те самые способы делать что-то по привычке и шаблону, без постоянного поиска иных вариантов деятельности. Если человек пишет правой рукой, а переворачивать страницы удобнее левой, нет смысла менять действия и их последовательность. То, что однажды получилось и на практике сработало положительно, не стоит менять.
Формирование паттернов поведения происходит в процессе наблюдения за окружающим миром, людьми, событиями, в процессах обучения и воспитания. Закладка паттернов наиболее активно идет в детстве, формирование психологических устоев и навыков у детей идет быстрее и продуктивнее. Дети копируют поведение взрослых, особенно родителей, смотрят, как ведут себя сверстники в тех или иных ситуациях, запоминая модели реакций.
Дети копируют и перенимают поведение напрямую, не выделяя и не изменяя шаблонов. Это связано с тем, что у малышей нет опыта сравнения и выделения главного, правильного в поступках. Навыки общения и действий прививаются один в один.
Взрослый человек, как правило, наделен собственным набором паттернов, поэтому копирование чужих, даже если случается, происходит осознанно и выборочно. К примеру, человек видит, что у кого-то получается лучше производить определенные действия, он перенимает способ их произведения, чтобы улучшить собственный результат.
Нередко паттерны поведения устанавливаются настолько крепко в подсознании, что изменить их человеку не под силу. Многие прибегают к помощи специалистов, чтобы поменять ход мыслей и изменить привычные способы действий. Шаблонность и автоматизм не всегда играют положительную роль в происходящих событиях и производимых действиях.
Примерами негативных паттернов поведения служат такие, как привычка начинать и заканчивать день в смартфоне, перекусывать на бегу, вести сидячий образ жизни, обвинять других. Все эти привычки негативно влияют на здоровье, внешний вид, самооценку и т.д.
Поведенческие паттерны – что это?
Поведенческие паттерны – это варианты тех или иных шаблонных действий, применяемых людьми в повседневной жизни. Во многих случаях заложенные и сформированные в детстве паттерны остаются неизменными в течение жизни. Лишь в исключительных случаях индивид может постараться изменить их в силу веских причин и обстоятельств.
Изучение поведения людей помогает формировать некие ситуации заранее и предвидеть возможный итог. К примеру, если среди вашего окружения есть человек, который никогда и никуда не приходит вовремя, всегда опаздывает, можно начать назначать встречи с ним на 20-30 минут раньше урочного часа.
Если кто-то из друзей не держит слово, лучше не надеяться на него в серьезных делах, чтобы не разочароваться и не провалить задуманные.
Паттерны нередко лежат в основе поведенческих моделей. К примеру, если родители ребенка привыкли всегда и во всем обвинять других, не беря ответственность на себя, выросший ребенок, скорее всего, переймет эту модель и сделает ее собственным паттерном.
Во всех неудачах он станет обвинять соседей, друзей, правительство, руководителя. Признать то, что сам принял неправильное решение или совершил не то действие, человек не сможет из-за устоявшихся паттернов. Его сознание автоматически включает поиск виновного на стороне, но не обращается вглубь себя.
Поведенческий паттерн лежит и в основе комплекса жертвы. Когда человек не видит позитива, а всегда ощущает себя пострадавшим, его сознание также срабатывает в эту сторону. Что бы хорошего не произошло, он всегда будет видеть только негатив и ощущать страдания. Даже если как таковых страданий нет, человек их найдет или придумает.
Аналогично срабатывает и поведенческий паттерн успешного человека. Если существует модель поведения, при которой человек добился успеха, ее тоже можно перенять и сделать собственным паттерном. Применить поведенческий паттерн для достижения положительных результатов можно при улучшении характера, выработке новой привычке, повышении прибыли и выведении бизнеса на новый уровень.
К примеру, существует определенный набор действий для здорового образа жизни, общения с людьми, раскрутки компании в интернете, увеличения дохода и рентабельности и т.д.
Шаблоны поведения
Многие шаблоны поведения также формируются на основе паттернов. В психологии выделяют следующие поведенческие шаблоны:
Виды паттернов
Психологи также выделяют несколько видов паттернов:
Паттерн – определенный шаблон или вид действий, осуществляемый человеком автоматически и формируемый в детстве. Коррекция детского паттерна может быть произведена родителями с целью улучшения характера и жизненного кредо ребенка. Паттерны бывают нейтральными, имеют положительные и отрицательные последствия.
Изменение паттернов в случае необходимости может производиться самостоятельно или с помощью психолога.
Читайте также: Что делать, когда скучно
Паттерны поведения в психологии
Слово «паттерн» (от английского pattern, что можно перевести как «шаблон», «модель», «система», «структура») применяется в различных научных дисциплинах и сферах деятельности. В одной только психологии паттерны используются в нескольких разделах, в том числе в когнитивной психологии, гипнологии и некоторых других сферах.
Что понимают под паттерном в психологии
Паттерн в психологии — это определенный набор, шаблон поведенческих реакций или последовательностей стереотипических действий, поэтому относительно любой области, где человек применяет шаблоны (а это почти все сферы), можно говорить о паттернах. Простыми словами паттерн — это повторяющийся шаблон поведения человека.
Надо сказать, что мы применяем намного больше паттернов, чем думаем, – сознательно или бессознательно. В частности, ежедневно нам на выручку приходят словесные паттерны — это речевые приемы (готовые фразы, реакции на те или иные вопросы и высказывания и т.д.), которые мы используем в речи. Также мы активно прибегаем к паттернам мышления — мыслительным шаблонам, в частности обобщениям. В данном тексте пойдет речь об общей характеристике паттернов поведения. Знание, как они функционируют, а также их анализ помогут лучше понять свои действия и действия тех, кто нас окружает.
Как работают поведенческие паттерны
Людям в принципе свойственна стереотипизация поведения: мы вырабатываем определенные способы взаимодействия с окружающим миром. Это объясняется принципом рациональности — вместо того чтобы каждый раз придумывать новые способы реагирования на то или иное явление, проще воспользоваться готовой моделью. Это касается всех паттернов – и мышления, и словесных, и поведенческих, и многих других.
Паттерны поведения формируются в процессе обучения, воспитания, а также наблюдения за окружающими. Этот процесс запускается с самого детства и в детстве же наиболее активен. Мы смотрим, какие модели применяют другие люди в различных ситуациях, и перенимаем (или не перенимаем) эти шаблоны. Этот достаточно удобный и эффективный способ обучения и социализации достался нам в наследство от предков, для которых был одним из средств выживания (надо заметить, что копирование поведения используется не только людьми и весьма распространено в мире животных, однако эта область лежит за пределами нашей статьи).
Возвращаясь к человеку современному, заметим, что детстве шаблоны зачастую просто копируются практически в неизменном виде (именно поэтому говорят, что лучшее воспитание ребенка – демонстрация ему тех или иных особенностей поведения на собственном примере). Когда мы становимся старше и наши модели поведения усложняются, паттерны заимствуются не так явно и не так активно. Кроме того, они, как правило, берутся не в исходном виде, а модифицируются, чтобы «вписаться» в наш характер, другие модели поведения и т.д. Пожалуй, лучшим отражением всего процесса станет поговорка: «С кем поведешься, от того и наберешься». И здесь мы говорим далеко не только об отрицательных качествах – «набраться» можно и положительных моделей.
Что паттерны поведения могут о нас рассказать и как их использовать
Отдельный интерес представляет следующее положение: зная, как определенный человек вел себя в тех или иных ситуациях, какие у него имеются паттерны поведения, вы сможете определить его действия и поступки в схожих ситуациях. Правда, прежде чем делать выводы, надо хорошо изучить саму личность и ее поведенческие паттерны. Самый простой пример — если ваш друг с легкостью раздает обещания направо и налево, но еще ни одно не выполнил (или по крайней мере мало какие), каков шанс, что он сделает то, что пообещает вам? То же касается вечно занимающих и не возвращающих долги знакомых.
Выработанные в детстве паттерны если и меняются, то с трудом. Именно поэтому девушке, выбирающей жениха, стоит обратить внимание на его отношение к матери. Дело в том, что через несколько лет после брака, когда пройдет стадия влюбленности, у мужчин зачастую (но не всегда) проявляются такие же поведенческие алгоритмы к супруге, которые от выработал по отношению к матери.
Важно и то, что, как правило, для близкого общения мы выбираем людей со схожими паттернами поведения. Поэтому про некоторых девушек говорят, что у них, например, талант к поиску подлецов. На самом деле такие дамы просто ищут человека, подходящего под реализацию их паттерна. И, видимо, в данном случае мы имеем дело с моделью поведения, при которой мужчина должен обманывать женщину, не уважать ее, он король — она никто и так далее. Точно так же не мужчине «везет» на чрезмерно ветреных подруг, а он подсознательно ищет девушек-изменниц. И когда его бросит одна из них, он будет искать другую – с таким же поведением, подходящим под его психологический паттерн. Хотя на уровне сознания ему может казаться, что больше он не попадется и следующая дама сердца будет совсем другой.
Почему важно обращать внимание на свои и чужие паттерны
Как правило, на сознательном уровне такие паттерны могут показаться иррациональными даже своему владельцу, однако на подсознательном личность может снова и снова повторять один и тот же путь – потому что это зона его комфорта. Именно поэтому анализ паттернов поможет вам понять, как вести себя с тем или иным человеком и как он будет действовать в различных ситуациях. Причем данный анализ (если он качественно проведен) будет показательнее слов и даже намерений, потому что на словах человек может отрицать (в том числе просто не признавать) за собой таких особенностей и даже вроде бы пытаться действовать по-другому, однако если этот паттерн для него комфортен психологически, никаких активных изменений на самом деле не последует. Один из красноречивых примеров – модель поведения вечной жертвы.
Впрочем, такие шаблоны поведения могут применяться не только для анализа других. У использования паттернов в психологии есть и еще одна сторона, к которой порой прибегают в НЛП, школах успеха и др. Зная модель поведения, при которой несколько людей добились успеха, вы можете повторить ее, чтобы добиться успеха самому. Например, можно скопировать некоторые кажущиеся вам положительными шаблоны, которые, на ваш взгляд, улучшат ваш характер, сделают вас сильнее и гармоничнее, позволят добиться тех или иных целей и т.д. Однако помните, что зачастую поменять модель – не так просто, ведь некоторые из подобных шаблонов буквально являются продолжением вашей личности.
Что такое паттерн, или Почему иногда так сложно вести себя «прилично»?
Александра Иваницкая
Вы поднимаетесь с кровати рано утром, включаете чайник или кофемашину, здороваетесь с соседями по дороге на работу, привычным жестом достаете проездной или ключи от машины. Насколько осознанно вы повторяете эти рутинные действия? Скорее всего, вы даже не задумываетесь о них, потому что они уже стали вашим поведенческим паттерном. Рассказываем, что это такое и как он помогает принимать решения.
Не просто условный рефлекс
Поведенческий паттерн — это набор сценариев «по умолчанию», которые человек может проигрывать на автопилоте. Это может быть сценарий «приличного поведения» при знакомстве с деловыми партнерами или, наоборот, сценарий «бей или беги» при встрече с источником опасности и сильного стресса.
Однако по мере развития психологии и этологии ❓ Область зоологии, посвященная изучению генетически обусловленного поведения у животных. ученые начали добавлять к паттерну новые составные части:
Условный рефлекс
Приобретенные через обучение, поощрение или наказание линии поведения, которые человек может неосознанно пронести через всю жизнь.
Инстинктивное поведение
Этот тип поведения закладывается у человека генетически и наследуется в течение многих поколений. Инстинктивным поведением может быть агрессия в состоянии беспомощности или желание убежать, когда на вас смотрит человек в форме, даже если вы ничего не сделали.
Виды паттернов
Социальные — универсальны для окружения человека (это традиции и ритуалы);
Индивидуальные — личные характеристики человека, такие как чувство юмора или манера общения с друзьями;
Врожденные — инстинкты и безусловные рефлексы;
Приобретенные — шаблоны поведения, полученные в результате обучения;
Позитивные — то, что положительно влияет на жизнь: привычка чистить зубы утром и вечером, не использовать слова-паразиты или приверженность здоровому питанию;
Негативные — обычно к этой группе паттернов относят деструктивное поведение (вредные привычки, необоснованный риск своей жизнью и здоровьем), дисфункциональную коммуникацию, неоправданную агрессию и так далее.
Определять свои и чужие поведенческие паттерны — это навык, который помогает глубже понимать себя и своего собеседника. Таким образом можно строить качественную коммуникацию, выигрывать переговоры и даже найти способ изменить свой образ жизни, понимая его причины.
Паттерны поведения
(Эта заметка является завершением серии постов, в которую вошли «Технический долг», «Синдром рефакторинга» и «Эффект второй системы»)
В чем польза паттернов проектирования? (*) Это, прежде всего, повторное использование проверенных архитектурных решений, а также упрощение коммуникаций между разработчиками. Но ведь помимо паттернов проектирования существует и масса других паттернов: существуют паттерны кодирования, тестирования, модификации кода (a.k.a. рефакторинг), существуют архитектурные паттерны и многие другие. Поскольку мы, на самом деле, редко делаем что-либо по-настоящему новое, то проверенные типовые решения существуют для огромного количества областей. И поскольку большинство проблем, с которыми сталкиваются команды разработчиков, также не отличаются разнообразием, то и поведение этих людей также весьма однообразно.
«Технический долг», «синдром рефакторинга» и «эффект второй системы» — это типовые ситуации, с которыми периодически сталкивается команда разработчиков. И главная польза от них как раз и заключается в том, чтобы увидеть проблему и доказать ее существование нужным людям. Если вы сами поняли, что технический долг проекта слишком велик, то используя денежную метафору будет уже значительно проще доказать важность этой проблемы менеджеру или заказчику. А затем взвешенно показать ему альтернативные пути развития событий: (1) оставить все, как есть; (2) уменьшить технический долг путем разумного рефакторинга или (3) переписать все нафиг.
Аналогично, если вы будете знать о проблемах ваших разработчиков, типа стремления чрезмерного переписывания или склонность к переусложненным решениям, то вам будет уже значительно легче использовать доступные ресурсы наиболее оптимальным образом. Комбинируя разработчиков таким образом, чтобы плюсы одного разработчика компенсировали недостатки другого, можно снизить риск впадания в крайности.
Помимо использования правильных людей для правильных задач и разумного прагматизма есть еще несколько мыслей, о которых стоит задумываться для снижения всевозможных рисков и принятия неадекватных технических решений.
Управление рисками и инкапсуляция
Джон Роббинс, если вы не знали, прежде чем стать известным bugslayer-ом служил зеленым беретом в армии Соединенных Штатов; и хотя, как он сам признается, в нем сейчас сложно узнать бравого вояку, но некоторые «приемчики», почерпнутые при планировании боевых операций он научился применять и при разработке программных продуктов и управлением рисками.
Да, возможно вопросы, типа «А что будет, если Василий даст дуба до того, как он закончит фазу анализа или сбора требований?» (**) может быть чересчур жесткой и едва ли будет встречена аплодисментами коллег, но вопросы типа «А что если наше текущее решение окажется неверным?» могут быть очень полезными.
Например, вы выбираете, модель взаимодействия с базой данной, библиотеку межпроцессного взаимодействия, СУБД или библиотеку для создания интерфейса пользователя. Каждый раз, принимая подобное решение не лишне спросить себя о том, «А что будет, если это решение окажется ошибочным и нам придется от него отказаться?» Как минимизировать влияние подобной ошибки и во что выльется, если все-таки оно не взлетит?
Основная идея минимизации риска подобных ошибок, заключается в инкапсуляции подобных решений в минимальном числе модулей. Это позволит минимизировать количество модулей, которые придется изменять в случае ошибки и позволит уменьшить как технический долг, так и стоимость последующих изменений.
Например, если вы приняли решение использовать WCF для межпроцессного взаимодействия, то это не значит, что сервисы должны торчать из всех дыр и бизнес-логика должна располагаться прямиком в классах сервисов. Или, если вы используете кастомный протокол взаимодействия, будь-то протокол работы со сторонним оборудованием, ручную реализацию RPC и т.д., то не нужно размазывать информацию об этом тонким слоем по всему приложению. Или вдруг вам еще нравится COM (хотя уже даже Дон Бокс не может на него смотреть), то не стоит каждую фигню заворачивать в СОМ объект.
Это может показаться настолько банальным, что и говорить об этом не стоит (ну или писать тоже), но, к сожалению, такие примеры попадаются слишком часто, чтобы думать, будто все об этом знают.
Инкапсуляция – это не только закрытые поля класса (т.е. сокрытие данных), но это и сокрытие информации и в более широком смысле этого слова. Так что инкапсуляция использования WCF в отдельном модуле является точно такой же инкапсуляцией с архитектурной точки зрения, как и закрытое поле с типом intв вашем классе, с точки зрения дизайна.
Более высокоуровневые абстракции (типа сборок/модулей/любой другой хрени более высокого уровня, чем классы) точно также состоят из публичного интерфейса (абстракции) и реализации (скрытых деталей). Понятие абстракции и инкапсуляции, которые описывают верхушку айсберга – абстракцию, и его подводную часть – инкапсулируя детали реализации, точно также применимы к сборке или модулю, как и к отдельному классу, пусть и применяются они обычно менее формально.
Опять возвращаясь к модулю межпроцессного взаимодействия, мы можем выделить открытый интерфейс этого взаимодействия и максимально спрятать WCF в качестве детали реализации. Я нисколько не сомневаюсь, что из этой затеи на 100% все равно ничего не выйдет и согласно «закону дырявых абстракций» информация о низкоуровневых деталях реализации будет просачиваться в другие уровни или модули. Но хотя бы попытка ответить на простой вопрос «А что будет, если эта хрень не взлетит и придется нафиг отказаться от текущего решения?», должна уменьшить последствия, если вдруг эта хрень и правда не взлетит.
Одна голова хорошо, а две – мутация
Есть масса решений, которые должен принимать один человек. Вряд ли выйдет что-то путевое, если дизайнер будет бегать и спрашивать мнение у всех пятнадцати разработчиков и стараться угодить каждому из них. При этом получится такая хрень, что Windows 3.11 в наши дни покажется верхом дизайнерского искусства и эргономики. Да и если архитектор приложения будет спрашивать совета всех и каждого, у кого есть свое собственное мнение относительно архитектуры системы (а оно, как известно, есть у каждого участника проекта), то результат такой работы тоже не заставит себя долго ждать.
У модели управления типа «колхоз», когда на коллективном собрании принимается решение, какой ORM использовать, есть масса недостатков; но ведь и польза от модели управления, при которой технические решения принимается одним человеком без обсуждений, соплей, слюней и апелляций, тоже весьма сомнительна.
Часто бывает, что в команде есть наиболее опытный «перец», который и принимает единолично все важные архитектурные (и не очень) решения. Эта ситуация полезна для этого самого «перца» (ЧСВ, оно такое ЧСВ), но не так уж полезна для всего проекта, особенно если «перец» не горит желанием спросить совета у других.
Первая проблема связана с тем, что у людей потихоньку вырабатывается привычка, что «перец» прав, при этом у самого «перца» такая привычка появляется тоже. В результате все плывут по течению, никто не оспаривает важные решения, ибо его решениям доверяют. В результате такого отношения качество этих решений падает.
Вторая проблема в том, что есть ряд решений, которые просто нельзя принимать самостоятельно. Я лично не знаю не одного человека, которому я бы доверил проектирование корпоративной библиотеки (себе бы одному я тоже это не доверю) (***). Проблема в том, что понятие повторного использования, хотя и мусолится уже не один десяток лет, все еще остается одной из наиболее сложных задач в нашей области. При проектировании библиотек, которой будет пользоваться даже десяток человек нужно идти на совершенно другие компромиссы и принимать решения, которые вы бы никогда не приняли при проектировании обычного приложения. Тут без «коридорного тестирования» просто нельзя, поскольку то, что тебе кажется простым и понятным в использовании, уж точно не будет таковым для человека, чей мозг находится не в вашей голове.
Если в команде нет полноценного номера 2, то это обязательно приведет к снижению качества решений по очень простой причине. Номеру один (нашему «перцу») тупо не с кем поговорить, чтобы проверить свои решения на вшивость, в результате чего команда может длительно идти не в том направлении, однако поскольку команда варится в своем соку, то заметить это очень сложно.
Кроме того, опытный «перец» может убедить команду и принять откровенно неверное решение, просто благодаря своему опыту. Если собеседники находятся в разных весовых категориях, то более опытному человеку не составит труда переубедить собеседника в своей точке зрения, не зависимо от того, насколько она адекватна. В любом споре, типа что лучше С++ или C#, есть масса аргументов с каждой стороны и более опытный «перец» можно просто называть одни аргументы и умалчивать другие. В результате будет принято решение в интересах «перца», а не в интересах проекта.
В большинстве команд даже ревью чужого кода делается крайне редко, а говорить о ревью спецификации, архитектуры или дизайна вообще не приходится. А ведь даже интуитивно понятно, что чем раньше будет найдена ошибка, тем дешевле ее исправление. Сама мысль о том, что на «мое творение» упадет взор постороннего человека, дополнительно дисциплинирует и повышает качество решения.
Наверняка есть масса других способов, способных смягчить проблемы, описанные в предыдущих заметках, но мне кажется, несколько советов хотя и не избавят от этих проблем, но могут здорово снизить риск их возникновения. Итак, вот они в краткой форме:
1) Прагматизм рулит (не нужно крайностей); этот совет применим всегда и везде, и он же помогает избегать проблем, типа «синдром рефакторинга» и «эффекта второй системы»
2) Не вырубайте свои решения в камне (есть шансы, что вы где-то запороли, и тогда снова придется браться за зубило)
3) Разумно советуйтесь с разумными коллегами, ибо взгляд со стороны всегда полезен
(*) Помимо пользы, от паттернов проектирования может быть и вред. Бездумное и неразумное использование любого даже самого полезного инструмента или технологии приведет к «абсурду и коррупции». Сколько раз вы сталкивались с проблемой “overengineering-а”, когда для реализации простой концепции использовался десяток паттернов проектирования? В общем, это очередной пример того, что прагматизм и здравый смысл, как всегда является лучшим выбором, и паттерны проектирования – не исключение.
(***) Я не говорю о библиотеках аля MiscUtils Джона Скита. Во-первых, его библиотека «выросла» при решении реальных задач, а во-вторых, я просто уверен, что Джон вносил в нее массу изменений на основе фидбека коллег и пользователей. Если хотите хотя бы немного узнать о сложностях проектирования крупных библиотек, полистайте “Framework Design Guidelines” Абрамса и Квалины, там есть масса интересных мыслей по этому поводу.