Композиція і інтерфейси

У світі об'єктно-орієнтованого програмування вже досить давно піддається критиці концепція успадкування.
Аргументів достатньо багато:

  • дочірній клас наслідує всі дані і поведінку батьківського, що потрібно не завжди (а при доопрацюванні батьківського у дочірній клас взагалі потрапляють дані і поведінка, які не передбачалися на момент розробки дочірнього);
  • віртуальні методи менш продуктивні, а в разі, якщо мова дозволяє оголосити невиртуальный метод, то як бути, якщо у спадкоємця потрібно його перекрити (можна позначити метод словом new, але при цьому не буде працювати поліморфізм, і використання такого об'єкта може привести до очікуваного поведінки, залежно від того, до якого типу наведено об'єкт в момент його використання);
  • якщо виникає необхідність множинного спадкування, то в більшості мов воно відсутнє, а там, де є (C++), вважається трудомістким;
  • є завдання, де спадкування як таке не може допомогти — якщо потрібен контейнер елементів (безліч, масив, список) з єдиним поведінкою для елементів різних типів, і при цьому потрібно забезпечити статичну типізацію, то тут допоможуть узагальнення (узагальнення).
  • і т. д. і т. п.
Альтернативою спадкоємства є використання інтерфейсів і композиція. (Інтерфейси давно використовується в якості альтернативи множинного спадкоємства, навіть якщо в ієрархії класів активно використовується спадкування.)

Декларованим перевагою спадкування є відсутність дублювання коду. У предметної області можуть зустрічатися об'єкти з схожим або однаковим набором властивостей і методів, але мають частково або повністю різні поведінку або механізми реалізації цієї поведінки. І в цьому випадку для усунення дублювання коду доведеться використовувати інші механізми.

А як можна вирішити цю задачу (відсутність дублювання коду) у разі композиції і інтерфейсів?
Цій темі і присвячена ця стаття.

Читати далі →

Вражаюче три крапки (The Mighty Ellipsis)

Яким чином 3 маленькі точки можуть сказати так багато



Коли я кажу людям, що три крапки (...) це самий вражаючий символ з усіх, то більшість людей дивляться на мене як на божевільного. Перш ніж ви теж окрестите мене божевільним, дозвольте мені спробувати пояснити.
протягом десятиліть дизайнери інтерфейсів використовували три крапки, щоб виражати всі важливі для користувачів деталі. Як ви скоро побачите, ці 3 точки можуть зібрати досить багато значень в їх невеликому просторі.
Давайте подивимося на 5 різних шляхів, в яких три крапки було використано в дизайні інтерфейсів, крізь роки їх розвитку. До кінця розповіді, ви, можливо, знайдете нове сприйняття цього маленького, вражаючого символу.
Читати далі →

Програма UX/UI треку на конференції MBLTdev 16



17 листопада в Москві в рамках Міжнародної конференції мобільних розробників
MBLTdev 16 пройде трек для дизайнерів мобільних додатків. На сайті вже опубліковано попередня програма треку. Виступати з доповідями, проводити воркшопи
і ревьюить ваші програми будуть фахівці з провідних продуктових і сервісних компаній, а також викладачі курсу «Дизайн мобільних додатків» Британської вищої школи дизайну (БВШД).

«Нелюдський дизайн: як автоматизація забирає роботу, славу і гроші в мобільних дизайнерів» розповість директор курсу «Дизайн мобільних додатків» БВШД Леонід Бугаєв доповіддю. Потім Павло Тепікін з SkyEng покаже історію експериментів з конверсійної лійкою: від оформлення додатка в App Store до першої оплати.
Читати далі →

Dribbble огляд №2 — найбільш цікаві дизайни інтерфейсів за останні 2 тижні

Всім привіт. Минуло пару тижнів з моменту виходу попередній огляда. На жаль, за цей час скарбничка Dribbble поповнювалася мляво. Хоча в цілому вона поповнювалася стабільно, але стоїть Вашої уваги матеріалу вкрай мало. Тому давайте знову відмотаємо таймер тому, тепер вже на два тижні і подивимося на різні концепти UX/UI артистів з усього світу. Я, як незалежний оглядач, вибрав 10 робіт і розставив їх у порядку зростання якості виконання.



Читати далі →

Віртуальний сервер з відеокартою

З 21 жовтня 2016 UltraVDS була включена можливість встановлення відеокарт до орендованих серверів. Такий функціонал став можливим з виходом Windows Server 2016, що включає в себе оновлену середу віртуалізації Hyper-V.



Читати далі →

Окей, Google, як щодо оптимізувати інтерфейс для роботи зі смартфоном однією рукою?


Тут зовсім недавно закінчив редизайн для клієнта, чиє ім'я не останнє на терені мобільного adblocking'a. Переробив їм android-версію повністю за гайдів Google Material Design (далі GMD)… Зрозуміло довелося капітально слідувати інструкції. Почуття змішані: начебто і трендово, а ніби і своїх проблем вистачає. Однак, я спокійно можу сказати про GMD — там є, переосмислити і поліпшити. Точно є речі, які можна зробити зручніше. І ось, можливо, одна з них…

Читати далі →

UX-митап 26 жовтня в Петербурзі: робота з дизайн-спринтам, LeanUX, юзабіліті-дослідження



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

На зустрічі 26 жовтня в пітерському офісі Wrike в рамках WrikeTechClub ми поговоримо про те, як побудувати ефективну роботу над юзабіліті, як провести необхідні дослідження і зробити з них правильні висновки, як виявити фатальні помилки і зуміти їх виправити в найкоротші терміни, розглянемо нові методології і розберемо з експертами конкретні кейси. На митапе виступить ГЕНЕРАЛЬНИЙ директор і засновник компанії Wrike Андрій Филев, який розповість про останні зміни вигляду Wrike у зв'язку з сучасними тенденціями роботи над IT-продуктом.

Читати далі →

Навіщо потрібен проект «Дизайн державних систем»

Привіт, Хабр! Сьогодні ми вирішили поділитися з співтовариством текстовою версією одного з випусків подкасту «Метрика», в якому ми розповіли про роботу над проектом «Дизайн державних систем».



Читати далі →

Dribbble: огляд найбільш цікавих дизайнів інтерфейсів за минулий тиждень



Всім привіт. Тиждень майже закінчилася і за цей час скарбничка Dribbble поповнилася купою робіт дизайнерів зі всього світу. Я пропоную вам відмотати таймер назад і подивитися що цікавенького за цей тиждень намалювали інші UX/UI артисти. У ролі незалежного експерта спостерігача пропоную власний огляд кращих дизайн-макетів. В кінці оголошу трійку кращих на свій погляд, але почну з загальним списком номінантів. Тому, якщо вам цікаво куди рухаються тренди дизайну і гайдлайны desktop-продуктів, то…

Читати далі →

Доброзичливий дизайн і мільйон нових користувачів: рік експериментів в Яндекс.Гроші

Яндекс.Гроші продовжують масштабний редизайн сервісу, започаткований два роки тому — про перші результати ми докладно розповідали на Хабре. Зворотний зв'язок, отриманий за цей час від спільноти і постійних користувачів, підтвердила нашу гіпотезу: щоб зробити сервіс зручним для нової аудиторії, потрібно частіше повторювати мантру «я нерепрезентативен» і дивитись на прилади.

У цьому пості я розповім, як за допомогою серії експериментів ми допомогли дизайнерам продуктів перейти від парадигми «удосконалюй» до циклу «експериментуй з новим → виміряй → повтори».

Перед тим, як заглибитися в теорію, пропоную всім читачам наочний експеримент: на картинці нижче — два варіанти форми введення даних карти. Спробуйте вгадати, який з них дає велику конверсію. Правильна відповідь — в тексті. До речі, таку гру ми проводимо всередині компанії після кожного експерименту — і в середньому 75% колег не вгадують правильний.

imageimage

Невеликий історичний відступ: Яндекс.Гроші існують з 2002 року, і перші десять років — тобто більшу частину життя — наша аудиторія була дуже схожа на аудиторію Хабра: досвідчені інтернет-користувачі, які працюють в IT та суміжних галузях. Навіть якщо потрібну дію заховати в чотири кліка від головної сторінки (так робити, звичайно, не треба) вони впораються, тому що прийшли в сервіс з чіткою метою і сильною мотивацією.

Читати далі →