Meros qutqarish

So'z menga iymon mumkin, u har doim olish bilan tugaydi

Meros tushunchasi bir-biri til bir ob'ekt foydalanadi qachon master kerak, deb tushunchaAgar ob'ektlar atrofida sizning kod tashkil qilish bo'lsangiz, meros foydalanish zaruriyati bilan duch bo'ladi, deb kuchli ehtimoli bor. Merosini afzalliklari bilan aniq bir poda olib keladi-da, bu barcha muammolar javob emas.

Keyin boshqa sinflar bu sinflar misollar foydalanamiz

Agar meros indiscriminate foydalanish siz tushib bo'lsa, sizning dastur funktsional doirasi qilishi kerak bo'lsa, barmoqlarini bir necha oy o'tgach, siz mordiez yuqori deb bir imkoniyat bor.

Albatta aytish uchun jozibador hisoblanadi, agar Foo men inherits"Agar, keyin siz har qanday harakat qilmasdan, uning barcha xususiyatlari bor men qiladi".

Lekin shu bilan birga bo'ladi bog'lab juda kuchli uchun ham sizning sinflar va agar ular kelish diverge kelajakda siz imkoniyatiga ega bo'lmaydi, deb, siz faqat sen"Ok, ular ulushi bir xil bo'lsa bir necha xususiyatlari". Keyin hozir qiyin bu sinflar har bir test uchun, deb, va split uchun ochiq-oydin emas, deb tushunib boshlash olaman. Muammolar boshlanadi. Ishlab chiquvchilar emas, balki tajribali uchun tashvish bir mijoz mavjud elementi operatsiya uchun bir o'zgarish qilish uchun istaydi qachon bir loyiha o'rtasida yoki bu haqiqatni tushunib emas, deb hisoblanadi.

Zarur sinflar o'rtasida mavjud mumkin, deb munosabatlar har xil turlarini aniqlash imkoniyatiga ega bo'lish uchun.

Sinf mumkin bo'lishi bilan bog'liq bir-biriga tomonidan uch turdagi munosabatlar: tarkibini bo'ladi har doim bo'lishi ko'proq moslashuvchan ko'ra bir mixins va bo'lmaydi, to'g'ridan-to'g'ri bog'liq sinf deb mezbonlik kontrast uchun meros. Shuning uchun, transport vositalari tezligi bor, endi uni edi, mashina sum mumkin va vertolyotlari uchib mumkin. Endi bizga bir samolyot uchun bir sinf yaratish uchun tilaklar, deb aytish bo'lsin texnik jihatdan mumkin sum va uchib. Bizning samolyot mashina va vertolyot o'rtasidagi yarim hisoblanadi. Albatta, mixins biz foydalanish mumkin, lekin bu na undan, na bir nechta meros bir shakli nisbatan kamroq bo'ladi. Bizning hozirgi eritmasi ancha yaxshiroq bo'lar edi va bizning muammo hal bo'lar edi. Boshqa yechim siz ixtisoslashtirilgan sinflarida xatti ajratish imkonini beradi, tarkibi, foydalanish bo'lardi. U shuning uchun sinflar toza, qisqa bo'lishi uchun, superfluous, va juda osonlik bilan testable deb usullari holda imkonini beradi.

Tarkibi, bag'ishlangan bir sinf to'liq quvvat olish imkoniga ega bo'ladi ob'ekt manipulyatsiya qilish uchun foydalaning.

Joyga qo'yish mumkin, shuning uchun biz: bu yechim mixins ortiq verbose bo'ladi lekin u ham ancha moslashuvchan va kuchli emas, amalda, ehtimol, eng oson sinov bo'ladi. agar men grant Ko'rsatishi uchun, ob'ektlar men initialized G'ildiraklar va Bo'yicha qanotlari uchib, lekin amalda doimiy ob'ektlar bo'lishi uchun, raqobat va muammolar oldini olish imkonini beradigan initialize usuli initialization bu ishni qilish istagi. Amalda, hech qanday sabab uch iplari qachon aniq bir usul amal qilish, nima uchun eksklyuziv tarzda tarkibi, mixins, yoki meros foydalanish. Va yanada moslashuvchan bo'ladi, deb yechim moslashtirish foydalanish uchun qanday bilaman u kerak. Kerak bo'lsa, shuning uchun meros foydalanamiz,"tuzuvchi shaxs hisoblanadi". eslab Bir vaziyatda bo'lsa mixins davom etamiz,"bir tuzuvchi xodimning sifatida harakat qiladi". Ehtimol, agar bu munosabatlar amalga murakkab narsa, bir ob'ekt bag'ishlangan bir sinf talab bo'lishi uchun qaytadigan bo'lsa tarkibi bo'ladi. Bu maqola mazmuni umumlashtirgan uchun, iloji boricha eng holati va ular shunday qilib, bu sizning sinflar o'ylab ko'ring, qaysi oxir-oqibat chiqib, mumkin emas, bir qutiga o'zingiz yopishib yo'q aniq har bir mas'uliyat delineate unutmang. Agar siz sinovlari amalga oshirish qiyin bo'lsa, tez-tez quloqqa bir burga qo'yish kerak, deb me'moriy bir masalani belgisi hisoblanadi.

Bugun, dasturiy ta'minot arxitekturasi haqida gapirish biz bo'ladi. app bir Ko'rinishi haqida yo'l-yo'riq beradi. Sisi, bu mumkin emas Yolg'iz qolish yo'q.