Tegishli nashrlar 'design-principles'


Meros ustidan kompozitsiya: kuchli dizayn printsipi
Kirish: Kotlin yordamida Android ilovalarini ishlab chiqish dunyosida to'g'ri dizayn printsipini tanlash barqaror va kengaytiriladigan kodni yaratish uchun juda muhimdir. Mashhurlik kasb etgan shunday tamoyillardan biri bu “Meros ustidan kompozitsiya”. Ushbu tamoyil ishlab chiquvchilarni mavjud sinflardan xususiyatlar va xatti-harakatlarni meros qilib olishni o'z ichiga olgan merosdan ko'ra oddiyroqlarini birlashtirish orqali murakkab ob'ektlarni qurishni o'z ichiga olgan..

QURUQ (O'zingizni takrorlamang) noto'g'ri ketishi mumkin
"Takrorlama" degani yozish uchun takrorlashni anglatmaydi, balki o'ylash uchun takrorlang. Agar ikkita o'xshash kod turli maqsadlarga/tashvishlarga xizmat qilsa, WET (Hammasini ikki marta yozing) olish yaxshidir. Biz noto'g'ri KURUGAN bo'lsak, biz "Shotgun Surgery" yoki "Divergent Change" deb nomlangan o'zgarishlarga qarshi vositalarning hidini seza boshlaymiz. Ba'zi ertaklarda aytilishicha, biz uni bitta funktsiya sifatida qo'yishdan oldin o'xshash kodlarning uchta takrorlanishini..

Dizayndagi modullik
Dasturlashning asosiy jihatlaridan biri ham modullilikdir. Kodning murakkab emasligiga ishonch hosil qilish, tushunish oson, kodni sinab ko'rish mumkin, bularning barchasi kodingiz qanday modulli ekanligiga bog'liq. Agar biz nima uchun modulli kod qilishimiz, juda ko'p turli xil usullarni yozishimiz va ularni tartibga solishimiz kerak deb o'ylasak, o'xshatish uchun faqat sizning shkaflaringizni o'ylab ko'ring. Agar siz barcha kiyimlaringizni katta o'lchamdagi bitta qutiga tashlasangiz,..

Tegishli savollar 'design-principles'

Liskov almashtirish printsipiga misol nima?
Men Liskov almashtirish printsipi (LSP) ob'ektga yo'naltirilgan dizaynning asosiy printsipi ekanligini eshitdim. Bu nima va undan foydalanishga qanday misollar bor?
398685 qarashlar

(Beton sinf bilan ishlaydigan v/s interfeysiga dasturlash) faqat bitta konkret sinf mavjud bo'lganda
OO komponentida, sinf uchun faqat bitta dastur mavjud bo'lsa va bu sinf boshqa komponentlarga "nashr qilinmasa", interfeysga ega bo'lish va uning o'rniga interfeys bilan ishlash tavsiya etiladimi? Men "interfeysga dasturlash" dizayn tamoyilini...
416 qarashlar
schedule 05.04.2024

Funktsiya argumentlarini o'rash?
Aytaylik, menda bu funksiya bor: void foo (struct1 &v1, struct2 &v2, ..., structn &vn){ //do something with a subset some of the arguments... foo1(v1, v2, ..., vn); } void foo1 (struct1 &v1, struct2 &v2, ..., structn...
286 qarashlar