Как стать автором
Обновить
1
0
chipp @bor1s

Пользователь

Отправить сообщение

Отказываемся от коллбэков: Генераторы в ECMAScript 6

Время на прочтение6 мин
Количество просмотров34K
Я постоянно слышу людей, ноющих об асинхронных коллбэках в JavaScript. Держать в голове порядок исполнения в этом языке немного трудно (это тот случай, который называют «Callback Hell» или «The Pyramid of Doom»), если до этого ты имел дело с синхронным программированием. Моим обычным ответом было «тебе придется как-то с этим обходиться». В конце концов, ожидаем ли мы, что все языки программирования будут выглядеть и ощущаться одинаково? Конечно нет.

Все поменял недавний обзор черновика ECMAScript 6, в котором описываются генераторы — возможность языка, которая целиком изменит наш способ написания и серверного, и клиентского JavaScript. С помощью генераторов мы можем превратить вложенные коллбэки в похожий на синхронный код без блокирования нашей единственной event loop.
Например, этот код:
    setTimeout(function(){
        _get("/something.ajax?greeting", function(err, greeting) {
            if (err) { console.log(err); throw err; }
            _get("/else.ajax?who&greeting="+greeting, function(err, who) {
                if (err) { console.log(err); throw err; }
                console.log(greeting+" "+who);
            });
        });
    }, 1000);

может быть написан так:
    sync(function* (resume) {
        try (e) {
            yield setTimeout(resume, 1000);
            var greeting = yield _get('/something.ajax?greeting', resume)
            var who = yield _get('/else.ajax?who&greeting=' + greeting, resume)
            console.log(greeting + ' ' + who)
        }
        catch (e) {
            console.log(e);
            throw e;  
        } 
    });

Интересно, не правда ли? Централизованная обработка исключений и понятный порядок исполнения.
Читать дальше →
Всего голосов 44: ↑40 и ↓4+36
Комментарии61

Обещания JavaScript

Время на прочтение19 мин
Количество просмотров204K
Всем привет, и ещё раз всех с прошедшими праздниками. Трудовые будни набирают обороты и вместе с ними растёт информационный голод мучающий нас. Мир разработки переднего конца не дремлет и готовит нам много сюрпризов в наступившем году, и уж поверьте мне, скучно не будет ни кому. Одна из новых особенностей которые нам готовят разработчики браузеров совместно с группами разработчиков пишущих спецификации — JavaScript Promises(далее в переводе — Обещания, прошу сильно не бить) — полюбившийся многим шаблон написания асинхронного кода обзаводится нативной поддержкой. Что же такое обещания и с чем их едят можно прочесть в нижеследующем переводе(слегка вольном) замечательной статьи Джейка Арчибальда.

Подробности
Всего голосов 83: ↑76 и ↓7+69
Комментарии39

Нетрадиционный обзор React

Время на прочтение7 мин
Количество просмотров50K
Привет, Хабр!

Мы в Хекслете любим свой стек технологий :) Когда рассказываем другим — многие завидуют: Rails, Docker, AWS, React JS. Реакт мы используем в первую очередь для создания веб-среды для разработки Hexlet-IDE, которая позволяет нашим пользователям выполнять упражнение по разработке приложений и взаимодействию с виртуальной машиной прямо в браузере.

Сегодня мы публикуем перевод статьи «An Unconventional Review of React» Джеймса Шора, ведущего проекта Let’s Code: Test-Driven JavaScript.



Он мне понравился. Я не ожидал такого.

Для специальных выпусков Let’s Code JavaScript в августе и сентябре я изучал Реакт.

На случай если вам не знаком Реакт: это библиотека для фронт-энд веб-разработки. С помощью него создаются компоненты: короткие, не-совсем-ХТМЛ теги, которые можно комбинировать для создания интерфейса.

Реакт знаменит своими нетрадиционными решениями: реализацией виртуального DOM’а, созданием элементов интерфейса в JavaScript вместо шаблонов, создание суперсета языка JavaScript — JSX, который позволяет вставлять не-совсем-ХТМЛ прямо в код JS.

С этими решениями разработка уходит от схемы манипуляции DOM’ом — добавить этот элемент, скрыть эффектом другой элемент, обновить это текстовое поле. Вместо этого вы описываете как сейчас должен выглядеть DOM. Реакт берет на себя сложную работу по определению необходимых действий чтобы DOM на самом деле стал выглядеть так, как вы сказали.
Читать дальше →
Всего голосов 50: ↑47 и ↓3+44
Комментарии34

Codecademy. Учимся программировать

Время на прочтение1 мин
Количество просмотров12K
Изображение - savepic.ru — сервис хранения изображений

Codecademy, который запустился буквально день назад будет интересен в первую очередь начинающим программистам JavaScript. Ресурс претендует быть прекрасным дополнением к туториалам, манам и другим материалам. Под катом небольшой обзор сервиса.
Читать дальше →
Всего голосов 80: ↑72 и ↓8+64
Комментарии52

Таргетинг и стадии человеческой жизни

Время на прочтение4 мин
Количество просмотров12K
Самый актуальный подход в поведенческом таргетинге это уделять всё или почти всё внимание тому, что именно люди ищут и просматривают в онлайне. Хотя это и является важным первым шагом, по-настоящему кастомизированный высокоточный таргетинг требует погрузиться глубже, исследуя новые способы ставить вопрос и находить ответ на то почему и как определённые потребительские сегменты различаются в своём поисковом поведении, как об этом ниже рассказывает руководитель WhitePages.com, Сьюзи Кенг (Susie Kang).

Behavioral Insider: Что отличает именно ваш подход к использованию поведенческих данных?

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


BI: И как вы это делаете?

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


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

Кенг: У нас больше 15 миллионов категорий для бизнес-поиска, в общем, у нас мощный механизм вертикальных поисковых данных. Мы занимаемся тем, что применяем эти данные согласно профилям Нильсена и группируем их по разным категориям. И там, на самом деле, существуют мощные корреляции. Ну, скажем, интересный момент представляет собой то, что люди, относящиеся к одному из сегментов стадий жизни, под названием «Новые Семьи» (New Families) – те, у кого уже есть первый ребёнок – гораздо более склонны гуглить автомобили, чем люди из других групп.


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

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


BI: Можно ли, на ваш взгляд, применить подобный подход за пределами именно этой сферы?

Кенг: Мы сопоставляем наши данные с некоторыми из Нильсеновских основных категорий жизнецикла. Для таких групп, как «Пустогнёзды» (Empty Nesters), люди у которых дети повзрослели и пошли учиться в колледж, или «Взрослые Семьи» (Mature Families), те, у которых несколько детей, характерны свои особенные паттерны онлайн-поиска, которые рекламщики могут использовать для идентификации и таргетирования. Как только вы идентифицировали устойчивый поведенческий паттерн и его сегмент, у рекламщика появляется возможность дотянуться до потребителя из таргет-группы пока он находится в релевантной поисковой категории или ретаргетировать его в другую поисковую категорию на основе строгой корреляции с потребностями его текущего жизнецикла.


BI: Считаете ли вы, что растущее применение сегментации расширит границы рынка для поведенческого таргетинга среди тех рекламщиков или прочих, которые избегают ПТ?

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


BI: Какие вы могли бы назвать ещё другие новые разработки, которые будут особенно важны для вас в последующие несколько месяцев?

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


Перевод с английского для:
blog.worldwebstudio.com

Всего голосов 18: ↑11 и ↓7+4
Комментарии0

Успех компании MySpace: Не совсем «вирусный» старт

Время на прочтение6 мин
Количество просмотров1.1K
Менее чем за 3 года, MySpace попал в пятерку самых посещаемых сайтов в США, достигнув 48 миллионов уникальных посетителей и 27.4 млрд. просмотров страниц в июне 2006. Сайт вероятно никогда не приблизится к доходности Google, eBay, или Yahoo, но он имеет потенциал стать новой internet-платформой.
Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии5

Об эффекте комментария первого… и последнего

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

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

Ну, что же, как говорил деятель не столь далёкой эпохи, «цели определены, задачи поставлены. За работу, товарищи» — господа!

Надеюсь, что в спорах, действительно, родится истина, и мы все вместе сможем разработать уточнённую концепцию взросления социального веба и требования к соответствующим ресурсам. Как сказал, но на этот раз из очень древних, «если не мы, то кто?, если не сейчас, то когда?, если не так, то как?». Кто будет реализовывать эти наработки, вопрос, конечно, интересный:), но об этом позже…

А пока ещё раз всем спасибо! Буду рад, если mastak, Throwable, Labudomet, lazyant, bird2gt (извините, если кого-то забыл упомянуть) найдут время и на базе своих очень интересных комментариев, напишут заметку в наш блог. Тогда мы их и обсудим детальнее. Иначе, если всё будет свалено в одну кучу, то вряд ли получим мы «сухой остаток»


Кстати, просто для статистики, интересно, кто из участников этой дискуссии, видел приведенный комментарий?

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

Однако с первым комментарием связан ещё один, самый загадочный для меня катализаторный эффект первого комментария.
Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии36

Как выбрать дизайнера для проекта и не просчитаться?

Время на прочтение5 мин
Количество просмотров1.3K
Каждый раз, обдумывая новый проект или приступая к редизайну уже существующего, я стремлюсь подключить к работе нового дизайнера, хотя проще было бы работать с уже знакомым. Делаю я это по двум причинам:
  • во-первых, новый дизайнер, это всегда новый взгляд на вещи, это человек с помощью которого я сам могу несколько иначе взглянуть, на то, что планируется осуществить, как впрочем, и на то, что уже сделано.
    во-вторых — это возможность познакомится со специалистом и позже работать с ним регулярно, уже зная, какого результата от него можно ожидать.
    Надо сразу оговориться, что, хотя нижеизложенные рекомендации применимы для поиска разных специалистов, но в этой статье будет идти речь о поиске именно ведущего дизайнера веб-сайта, как сказали бы в театре — «художника-постановщика» проекта.

    Оговорка «ведущего» нужна потому, что в крупных проектах, как правило, участвуют несколько дизайнеров. Для каждого фронта работ привлекается узкий специалист — один дизайнер рисует логотип, другой создает векторные изображения, третий колдует над иконками для сайта… в отдельные ниши можно вывести планирование интерфейсов, флэш-вставки, обработку фотографий и т.п. А все это вместе собирает тот самый «ведущий дизайнер» и именно он и создает окончательную визуальную структуру сайта.
Читать дальше →
Всего голосов 36: ↑26 и ↓10+16
Комментарии23

Фильтрация контента

Время на прочтение1 мин
Количество просмотров1K
Я тут задумался об эффективном механизме фильтрации интересующего контента: премодерирование, карма, etc…

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

Не знаю, может идея бредовая… я её толком обдумать ещё не успел. :)
Всего голосов 24: ↑21 и ↓3+18
Комментарии65

Руководство для параноика в Сети

Время на прочтение6 мин
Количество просмотров5.6K
В том что существует мировой заговор (тотальный контроль, технологии зомбирования и управления) кровавой гебни (массонов, мировой закулисы, ЦРУ, АНБ, RAND corp., нужное подчеркнуть) против пользователей Сети нет никаких сомнений. Так каким же образом мы можем отстоять оставшиеся крохи своей свободы? Так вот, мы не одиноки: есть сильные и смелые люди, бросившие вызов диктату корпораций и правительств. Рассмотрим типичные вторжения в нашу свободу и способы самосохранения.
Читать дальше →
Всего голосов 43: ↑41 и ↓2+39
Комментарии29

За какие слова Adwords-рекламодатели платят больше $1,000,000 в месяц?

Время на прочтение2 мин
Количество просмотров1.5K
Google периодически публикует список самых дорогих ключевых слов в Adsense. Но являются ли фразы с высокой ценой клика самыми прибыльными с точки зрения адсенсного сайта? Для ответа на этот вопрос нужно знать не только стоимость, но и количество кликов в месяц.
С помощью базы ключевых слов мы провели исследование, в котором получили список слов, за которые Adwords-рекламодатели платили в 2006 году больше $1,000,000 в месяц:
Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Комментарии34

Визуализация структуры популярных сайтов

Время на прочтение1 мин
Количество просмотров835
Каждый день мы просматриваем множество сайтов.
Структура этих сайтов отражена в HTML коде.

Sala, автор этого блога, написал очень интересный аплет, который анализирует тэги страниц, и визуализирует их в соответствии со следующей спецификацией:


Вот, например, визуализация msn.com. Довольно разветвленная структура, с большим количеством картинок:

msn.com

Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии40

Бесплатный… Касперский

Время на прочтение1 мин
Количество просмотров1K
Огромная часть народонаселения материка Евразия, да и целого мира, пользуется продуктами Лаборатории Касперского (AVP, KIS).

Началась деятельность лабораторииa сравнительно давно и, как мы видим, успешно.
Теперь Касперский пошел еще дальше. Я не знаю, как именно AOL и Kaspersky Lab договорились, нам важнее результат. А результатом стал свободный и главное бесплатный антивирус Касперского 6. Я качал его в декабре 2006 года — билд 308.
Читать дальше →
Всего голосов 68: ↑56 и ↓12+44
Комментарии64

Онлайновые хранилища 2.0

Время на прочтение3 мин
Количество просмотров1.2K
Почти год назад мы уже публиковали сравнительный обзор онлайновых хранилищ по материалам журнала PC World. Однако, с тех пор много воды утекло и пришло время еще раз вернуться к этой теме. Посмотрим, что из себя представляют онлайновые хранилища нового поколения, сделанные в стиле Веб 2.0. На сайте ExtremeTech опубликован обзор шести таких сервисов — это отличное дополнение к нашему прошлогоднему материалу.

Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии57

Не гуглом единым… Онлановые инструменты

Время на прочтение1 мин
Количество просмотров815
Сделал подборочку не гугловских инструментов:

www.gliffy.com — Онлайн-диаграммы, эквивалент MS Visio;
thinkature.com — Онлайн-диаграммы, размышлений;
show.zoho.com — Онлайн-презентации;
www.bubbl.us — Онлайн Mind Maps;
us.ajax13.com — Онлайн-офис;
www.empressr.com — Онлайн-презентации;
www.burnham-on-sea.co.uk/fax.html — Послать онлайн-факс;
www.zamzar.com/?www.deltaasesores.com — Конвертер файлов;
www.chatcreator.com/chatbox — Возможность добавить на свой сайт чат;
www.ortelius.de/kalender/form_en2.php — Перевод дат по разным календарям, есть даже календарь Майя;
www.webwag.com — Web-комбайн: rss-агрегатор, погода, поиск, возможность добавлять свой контент;
www.netvibes.com — Web-комбайн: читает rss, показывает, погоду, хранит todo листы, проверяет почту, хранит закладки, записки, хранит todo из rememberthemilk, всё это дополняет приятным и удобным интерфейсом;
www.rememberthemilk.com — Онлайн-органайзер;
voo2do.com — todo-листы, поддержка проектов.
Всего голосов 52: ↑48 и ↓4+44
Комментарии28

MySpace зарабатывает на рекламе $25 млн в месяц

Время на прочтение1 мин
Количество просмотров513
Рекламный доход социального сайта MySpace приносит его владельцу — компании News Corp. — $25 млн ежемесячно. Рост прибыли составляет 30% за квартал, пишет Mashable, ссылаясь на данные, почерпнутые из доклада Руперта Мердока (Rupert Murdoch), владельца MySpace.

Мердок, выступая на саммите McGraw-Hill Digital Media Summit, также заявил, что MySpace развивается гораздо быстрее, чем того ожидали многие. Рост в немалой степени обеспечили «представительства» сайта в Австралии, Франции и других странах.
Всего голосов 10: ↑9 и ↓1+8
Комментарии8

Социальная Надсеть

Время на прочтение2 мин
Количество просмотров560
Участие в социальной сети – это не учетка в ЖЖ или MySpace. Реальные социальные связи обычного интернет-жителя простираются за пределы любого отдельно взятого блог-хостинга. Каждый человек – это узелок социальной сети, в котором сходятся нити разных сообществ, в которых он состоит.

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

А я так не хочу.
Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии29

Node.js, Require и Exports

Время на прочтение2 мин
Количество просмотров232K
Когда я только-только начал играться с Node.js, для меня существовала лишь одна вещь, которая доставляла мне дискомфорт. Занятно, но я говорю сейчас о module.exports. Говоря занятно, я намекаю на то, что это, всё-таки, одна из фундаментальных частей Node.js и она достаточно проста. Сейчас же, оглядываясь назад, я не могу объяснить почему меня это так стопорило… Просто помню, что этот момент был для меня не очевиден. Ну и, полагаю, что я один из тех многих, кто встретив его разок-другой, сначала только путался, прежде чем написал что-либо применив его.

В Node, все штуки видны друг другу только в рамках одного и того же файла. Под штуками я подразумеваю переменные, функции, классы и их члены. Например у нас есть файл misc.js следующего содержания:

var x = 5;
var addX = function(value) {
  return value + x;
};

Привычный доступ к переменной x и функции addX из другого файла невозможен. Это никак не связано с использованием var. Дело в том, что Node состоит из блоков называемых модулями, и каждый отдельный файл по своей сути — отдельный блок, чья область видимости изолирована от других таких же блоков.
Читать дальше →
Всего голосов 31: ↑16 и ↓15+1
Комментарии14

В Firefox Developer Tools добавлена поддержка событий jQuery

Время на прочтение1 мин
Количество просмотров20K
Встроенные инструменты разработки в Firefox становятся все удобнее. image
Возможность просматривать эвенты в Firefox developer tools была доступна и раньше, но поддерживала она только нативные js события. Для этого, надо открыть Dev tools, перейти на вкладку Inspector и если на элемент было повешено событие, то справа от него отображалась пиктограмма «ev», при нажатии по которой можно было посмотреть обработчик.
Читать дальше →
Всего голосов 52: ↑50 и ↓2+48
Комментарии17

Свежий взгляд на примеси в JavaScript

Время на прочтение8 мин
Количество просмотров19K
В этой статье я детально исследую примеси в JavaScript, и покажу менее общепринятую, но, на мой взгляд, более естественную стратегию «примешивания», которую, надеюсь, вы найдете полезной. Закончу я матрицей результатов профилирования, подводящей итог влиянию на производительность каждой техники. (Большое спасибо блистательному @kitcambridge за ревью и улучшение кода, на котором основан этот пост!)

Повторное использование функций

В JavaScript каждый объект ссылается на объект-прототип, из которого он может наследовать свойства. Прототипы — отличные инструменты для повторного использования кода: один экземпляр прототипа может определять свойства бесконечного числа зависимых сущностей. Прототипы могут так же наследоваться от других прототипов, формируя, таким образом, цепочки прототипов, которые более-менее повторяют иерархии наследования «классовых» языков типа Java and C++. Многоэтажные иерархии наследования иногда бывают полезны при описании природного порядка вещей, но, если первичным мотивом служит повторное использование кода, такие иерархии могут быстро стать искривленными лабиринтами бессмысленных субклассов, утомительных избыточностей и неуправлямой логики («кнопка — это прямоугольник или контрол? Вот что, давайте унаследуем Button от Rectangle, а Rectangle может наследоваться от Control… так, стоп…»).
Читать дальше →
Всего голосов 55: ↑50 и ↓5+45
Комментарии39
1

Информация

В рейтинге
Не участвует
Откуда
Свердловская обл., Россия
Дата рождения
Зарегистрирован
Активность