Сопоставление с образцом (pattern matching) — сильный механизм языков программирования, который, к сожалению, встречается не так часто. Причём, как в коде разработчиков, так и в поддержке со стороны самого языка.
Разработчики на функциональных языках используют этот механизм довольно часто, потому что у них вообще многое определяется статически через правильный подход к системе типов. Разработчики же на императивных языках очень любят огромные многоуровневые ветвления. Есть даже такое понятие «Спагетти-код» — раньше его применяли к коду, перегруженному операторами перехода, но в современном виде это скорее об избытке операторов условия.
Pattern matching позволяет накладывать на объекты некоторый трафарет и смотреть, попадают ли они под него. Это не только выглядит лаконичнее и короче, чем дерево условий, но ещё и понятнее с точки зрения восприятия человеком: вот у нас заказ содержит более 10 элементов и при этом стоит более 1000 долларов, значит делаем на него скидку 10 центов. При этом трафарет работает как сортировщик монеток: самая маленькая проваливается в первый паз, следующая по размеру в следующий итд, применение условий идёт сверху вниз. Есть и неявный плюс: такой подход автоматически провоцирует разработчиков проводить проверку на null. Ведь null не может подходить под трафарет «содержит более 10 товаров».
К счастью, в C# этот механизм в последних версиях активно развивают и совершенствуют. И это одно из многочисленных преимуществ C# над Java.
#dev
#material
Высота по оси z в Material Design.
1. Навигационное меню — 16dp;
2. Панель приложения — 4dp;
3. Карточки — от 1dp к 8dp при нажатии;
4. FAB — 6dp;
5. Кнопка — от 2dp к 8dp при нажатии;
6. Диалоговое окно — 24dp.
Подробнее
😄Material
➖➖➖➖➖➖
🔘Material is what things are made from.
🔜 What material is this table? It's wood.
🔘Material can also be another word for cloth.
🔜 Can you make a dress using this material?
🔘Material is information used in writing as well, often for promotional purposes.
🔜 Take this material and write an article using it. It's interviews about living in the UK.
#Material👨🏫@America
➖➖➖➖➖➖➖➖➖➖➖➖
🆕 Crypto News @Money
😁 Crypto Game @Egame
🇺🇸 US News @America
🇯🇵 Japan News @Japan
🇦🇪 UAE News @Dubai
▶️ Popular Movies @Videos
😜 Best Funny Video @Funnys
😄Material
➖➖➖➖➖➖
🔘Material is what things are made from.
🔜 What material is this table? It's wood.
🔘Material can also be another word for cloth.
🔜 Can you make a dress using this material?
🔘Material is information used in writing as well, often for promotional purposes.
🔜 Take this material and write an article using it. It's interviews about living in the UK.
#Material👨🏫@America
➖➖➖➖➖➖➖➖➖➖➖➖
🆕 Crypto News @Money
😁 Crypto Game @Egame
🇺🇸 US News @America
🇯🇵 Japan News @Japan
🇦🇪 UAE News @Dubai
▶️ Popular Movies @Videos
😜 Best Funny Video @Funnys
В Material Component for Android 1.13.0 (пока в альфе) добавили новые виджеты на View системе:
👉Docked Toolbar
👉Floating Toolbar
👉Split Button
#android#material
Material Design 3 Expressive красив только на картинках от дизайнеров. По сути своей сделали гигантизм, из-за чего приходится на маленьких экранах уводить в более мелкие элементы интерфейса (через настройки плотности). Переводы и размещение текста оставляют желать лучшего. Как по мне - худший редизайн Android за всю историю.
Успели попробовать? Какие ваши впечатления?
#material#ui
Yaqinda Google rasman oʻzining Material 3 Expressive dizayn tizimini taqdim etdi
Ushbu tizimda ular yorqin ranglar, jonli tipografiya va animatsiyalarga urgʻu berishdi.
Tizim ustida uch yil davomida ish olib borildi, 18 000 nafar inson ishtirokida 46 ta tadqiqot oʻtkazildi.
Batafsil: https://m3.material.io/
Aytishlaricha, Android 16 (Beta)da bu yangilanishni koʻrishimiz mumkin ekan. Sizga yangi dizayn tizimi yoqdimi?
@suxrobblog // #google#material
🚀Вышел Jetpack WindowManager 1.4 - библиотека с API для построения адаптивного UI в Material3 (можно применить и к другим UI Kit): WindowSizeClass, Activity embedding, WindowsInfoTracker и др.
Про изменения отдельными постами дальше
#jetpack#ui#material
📹Building adaptive Android apps (40 минут)
Очень классное видео про то как подходить к разработке приложений без привязки к экрану, а думать именно в терминах пространства для отрисовки
0:00 Введение
4:15 Зачем создавать адаптивные интерфейсы?
7:49 Адаптивность в Compose Material 3
13:01 Создание UI с Compose Material 3 Adaptive
22:07 Положения складных устройств
23:32 Анти-паттерны
26:52 Ввод, выходящий за рамки сенсорного управления
30:36 Тестирование на разных устройствах
36:17 Адаптивный рабочий процесс
39:29 Обратная связь и заключительные замечания
#android#material#большикэкраны