Попробовали на работе предметно-ориентированное проектирование (Domain Driven Design). Это такой способ построения архитектуры, когда ты (чаще всего с помощью системы типов и ООП) описываешь физическую суть вещей, которые представлены в твоей программе.
Например, если в программе есть объект "Книга", то её нужно снабдить свойствами, которые бывают у книг в реальности: число страниц, автор, язык, тип обложки и т.д. При этом данные свойства должны быть такими, чтобы присвоить им нереалистичные значения было нельзя. Допустим, число страниц не может быть отрицательным (и скорее всего в реальном мире не может быть нулём). При попытке установить отрицательное число страниц программа должна выбросить исключение. А совсем в идеальном случае -- не дать этого сделать программисту на уровне статического анализа кода.
Описав все свойства книги, вы снабжаете её операциями, которые над ней можно сделать. Например, из книги можно вырвать страницу, и при этом число страниц уменьшается. Нет такого случая, когда можно вырвать страницу без изменения числа страниц. Вы строго программируете эту зависимость, делаете у книги метод "Вырвать страницу", а он уже уменьшает число. Кстати, свойство "Число страниц" при этом нельзя переназначить в уже созданной книге. Можно только создать книгу, передав в её конструктор (так называется в программировании функция создания объектов) заданное число страниц. Но поменять число страниц можно только специальными методами "Вырвать страницу" и "Вклеить страницу".
С помощью этого подхода вы гарантируете, что ваши объекты всегда находятся в валидном состоянии -- то есть таком, которое возможно в реальной жизни с объектом, представленным программой.
Плюсы подхода очевидны: меньше число ошибок. Код описывает сам себя, и программист, если не лезет внутрь объекта "Книга", вообще не сможет сделать с книгой ничего недопустимого.
Минусы, думаю, тоже понятны: изначально проектировать сложнее, нужно учесть много нюансов, писать тесты. Время разработки изрядно растёт. Изменение требований даётся дороже: например, если каким-то образом в ваш книжный магазин поступят книги со страницами из кевлара, которые невозможно вырвать :)
Но первый проект с этим подходом мы сдали хорошо, без багов. Лучше, чем многие предыдущие.
#dev
📱 OnePlus o‘zining flagman modeli OnePlus 15ni taqdim etdi
ℹ️ Yangi model dizayni jihatidan kompakt OnePlus 13Tga yaqinlashgan: to‘g‘ri, mat pardali ramkalar, tekis displey va dumaloq burchakli kvadrat kamera bloki.
⚙️ Ichida esa kutganimizdek Snapdragon 8 Elite Gen 5 chip o‘rnatilgan bo‘lib, u “kosmik sinf” aerogel bilan jihozlangan yangi sovutish tizimi bilan sovutiladi.
🔋 Batareya esa butunlay o‘sdi — 6000 mAh dan 7300 mAh gacha.
✅ Asosiy texnik xususiyatlari:
- Displey: 6,78″ 1,5K LTPO OLED, 1-165 Hz
- Chipset: Snapdragon 8 Elite Gen 5
- Kameralar: 50 Mp (IMX906, 1/1,56″) + 50 Mpx keng burchak (116°) + 50 Mp telefoto (3,5×) + 32 Mp selfie
- Xotira varianti: 12+256 GB, 16+256 GB, 12+512 GB, 16+512 GB, 16+1024 GB
- Aloqa: 5G, NFC, Wi-Fi 7, Bluetooth 6.0
- Biometriya: displey ostida ultratovushli barmoq izi skaneri, yuzni aniqlash
- Suvga chidamlilik: IP66/68/69/69K
- Akkumulyator & zaryadlash: 7300 mAh, 120 W simli zaryad, 50 W simsiz zaryad
💵 Narxi: $562
➡️#oneplus | Birinchi raqamli IT-Blog
📱 Qualcomm yana bir bor MediaTek’ni ortda qoldirdi
ℹ️ Snapdragon 8 Elite’ga ega so‘nggi OnePlus 13 dunyodagi eng kuchli smartfon bo‘lib, u Xiaomi 15’dan ancha tezroq ishlaydi. Yangi avlodning flagman smartfonlari birinchi marta AnTuTu reytingiga kiritildi: deyarli barcha top-10 eng kuchli smartfonlar ro'yxati yangilandi, oktyabr oyidagi ro‘yxatda esa OnePlus 13 yetakchidir.
📊 Ayni paytda reytingda Snapdragon 8 Elite’da to‘rtta va Dimensity 9400’da beshta model bor: yangi top-end Qualcomm SoC’dagi modellarning eng yaxshisi Vivo X200 Pro uchinchi o‘rinda. Shunday qilib yana bir marta Qualcomm flagman platformasi MediaTek platformasidan tezroq ishlaydigan bo'lib chiqdi.
➡️#oneplus | Birinchi raqamli IT-Blog
📱 OnePlus 13 bilan tanishing
ℹ️ Tashqi ko'rinishi asosan o'zidan oldingi modelni eslatadi va deyarli o'zgarishsiz qoldi. Mish-mishlarga ko'ra, smartfon quyidagi xususiyatlarga ega bo'ladi:
• Displey: 6,8 dyuym 3168x1440 AMOLED, 120 Hz
• Chipset: Qualcomm Snapdragon 8 Gen 4 yoki Snapdragon 8 Elite
• Kameralar: asosiy 50 MP + eni 50 MP + 50 MP periskop + 50 MP selfi
• Suvga chidamliligi: IP69
• Xotira: 24 GB / 1 TB gacha
• Batareya va zaryadlash: 6000 mA/soat, 100 W, 50 W simsiz
📅 Smartfon taqdimoti 31-oktabrda bo‘lib o‘tadi va global taqdimotni 2025-yil boshida kutish mumkin.
➡️#oneplus | Birinchi raqamli IT-Blog
📱Shu brendga mehrim bo'lakcha lekin
ℹ️ OnePlus Nord 4 smartfoni to'liq metal korpusga ega bo'lib, Mercurial Silver, Oasis Green va Obsidian Midnight ranglarida taqdim etiladi. Qurilma AI Audio Summary, AI Note Summar, AI Linkboost hamda AI Groupfie deb nomlangan sun'iy idrok texnologiyalariga ega hamda Android 14 bazasidagi Oxygen OS 14.1'da ishlaydi.
⚙️OnePlus Nord 4 texnik xususiyatlari:
- Displey: Fluid AMOLED, 6,74 dyuym, ruxsati 1240x2772 piksel,
yangilanish tezligi 120 Hz, eng yuqori yorqinligi 2150 nits, HDR10+;
- Protsessor: Snapdragon 7+ Gen 3 (2,8 gigagertsli), Adreno 732 grafik;
- Operativ xotira: 8/12/16 GB;
- Ichki xotira: 128 / 256 / 512 GB;
- Asosiy kamera: 50 MP (f/1.8) + 8 MP (f/2.2);
- Old kamera: 16 MP (f/2.4);
- Batareya: 5500 mA/soat, zaryadlash 100 W;
- Operatsion tizim: Android 14 asosidagi OxygenOS 14.1;
- Boshqalar: NFC, stereo dinamiklar, displey ostidagi barmoq izlari skaneri;
- Olchamlari: 162,6×75×8 mm;
- Og'irligi: 199,5 g.
💸 Yevropada OnePlus Nord 4 12/256 GB versiyasi uchun 499 yevro, 16/512 GB xotiraga ega kuchli versiyasi esa 599 yevro turadi. Nord Buds 3 Pro minigarniturasi sovg'a sifatida taqdim etiladi. Yangi mahsulot 8-avgustdan sotuvga chiqariladi.
➡️#oneplus | Birinchi raqamli IT-Blog
🤯OnePlus’ 8 Pro has X-ray Vision Filter
it sees through plastic & clothes
Well, firstly, it’s not actual X-ray, though, it's infrared.
This is not a new technology, but it's pretty cool to have it on your #OnePlus#smartphone.
Read more on The Verge.
Video Credit: Ben Geskin.
Watch more tests on UnboxingTherapy.
🦅@perspectiveix