Ислом Каримов



Download 1,27 Mb.
Pdf ko'rish
bet34/46
Sana25.06.2022
Hajmi1,27 Mb.
#701850
1   ...   30   31   32   33   34   35   36   37   ...   46
Bog'liq
С да дастурлаш 2

12. Объектга йўналтирилган дастурлаш ва унинг тамойиллари 
~ 57 ~ 
Кучли боғланган код ёки бевосита алоқаларга эга код - бу бошқа 
компонентларнинг жорий қилиниши билан узвий боғлиқ бўлган код. 
Инкапсуляциялаш ва жорий қилинишнинг беркитилганлиги - мўжиза 
эмас. Интерфейс ўзгартирилганда, эски интерфейсга боғлиқ бўлган эски кодни 
ҳам ўзгартириш керак бўлади. Агар дастурни ёзишда деталлар интерфейсда 
беркитилган бўлса, бунинг натижасида кучсиз боғланган дастур юзага келади.
Кучли 
боғланган 
дастурда 
инкапсуляциялашнинг 
афзалликлари 
йўқолади: мустақил ва такроран қўлланадиган объектларнинг яратилиши 
мумкин бўлмайди. 
Жорий қилишнинг беркитилганлиги ўз камчиликларига ҳам эга. Баъзида 
интерфейс ёрдамида олиш мумкин бўлганидан кўпроқ ахборот керак бўлиб 
қолади. Дастурлар оламида маълум аниқлик билан, яъни маълум бир тўғри 
келадиган разрядлар миқдори билан ишлайдиган қора қутилар керак. Масалан, 
шундай вазият юз бериши мумкинки, сизга 64 битли бутун сонлар керак бўлиб 
қолади, чунки сиз жуда катта сонлар устида амаллар бажараяпсиз. 
Интерфейсни белгилашда, уни тақдим eтишгина эмас, балки жорий қилишда 
қўлланган турларнинг ўзига ҳос томонларини ҳужжатлаштириш ҳам ғоят 
муҳимдир. Бироқ, оммавий интерфейснинг ҳар қандай бошқа қисми каби, ҳулқ-
атворни белгилагандан сўнг, уни ўзгартириб бўлмайди. 
Жорий қилишни беркитиб, мустақил, бошқа компонентлар билан кучсиз 
боғланган дастурни ёзиш мумкин. Кучсиз боғланган дастур мустаҳкамроқ 
бўлади, бундан ташқари уни модификация қилиш хам осонроқ. Булар туфайли 
эса уни такроран қўллаш ва такомиллаштириш осон кечади, чунки тизимнинг 
битта қисмидаги ўзгаришлар унинг бошқа мустақил қисмларига таъсир 
қилмайди. 
Масъулиятнинг бўлинганлиги 
Жорий қилишнинг беркитилганлиги маъсулият тушунчаси билан 
боғлиқлиги табиийдир. Кучсиз боғланган дастурни яратиш учун, маъсулиятни 
тегишли равишда тақсимлаш ҳам муҳимдир. Маъсулият тегишли равишда 
тақсимланганда, ҳар бир объект ўзи масъул бўлган битта функцияни бажаради 
ҳамда бу функцияни яхши бажаради. Бу эса объект бир бутунликни ташкил 
этишини ҳам билдиради. Бошқача қилиб айтганда, функциялар ва 
ўзгарувчиларнинг тасодифий тўпламига эҳтиёж бўлмайди. Инкапсулаланаётган 
объектлар ўртасида яқин концептуал алоқа бўлмоғи керак. Барча функциялар 
умумий вазифани бажармоғи керак. 
Жорий қилиш беркитилмас экан, масъулият объектдан четга чиқиб 
кетиши мумкин. Бироқ ўз вазифасини қандай ҳал қилишни айнан объектнинг 
ўзи билиши лозим, яъни айнан объект ўз вазифасини бажариш алгоритмига эга 
бўлиши керак. Агар жорий қилиш очиқ қолдирилса, фойдаланувчи ундан 
тўғридан-тўғри фойдаланиши ва шунинг билан масъулиятни бўлиши мумкин.


12.4. Абстракция 
~ 58 ~ 
Агар иккита объект бир ҳил вазифани бажарса, демак масъулият 
тегишлича тақсимланмаган бўлади. Дастурда ортиқча мантиқий схемалар 
мавжуд бўлса, уни қайта ишлаш лозим бўлади. 
Ҳаётда бўлганидек, билимлар ва масъулият ишни қандай қилиб яхши 
бажариш мумкинлигини билган кишига ваколат қилиниши керак. Битта 
объектга битта (ҳар ҳолда кам миқдордаги) вазифа учун масъулиятни юклаш 
лозим. Агар битта объектга кўп миқдордаги вазифалар устидан масъулият 
юклатиб қўйилган бўлса, уларни бажариш мураккаблашади, объектни кузатиб 
бориш ва такомиллаштириш ҳам қийинлашади. Масъулиятни ўзгартириш ҳам 
ҳавфли, чунки бунда, агар объект бир неча хулқ-атвор линияларига эга бўлса, 
уларни ҳам ўзгартиришга тўғри келади. Натижада жуда катта миқдордаги 
ахборот бир ерга жамланиб қолади, уни эса тенг тақсимлаш лозим. Объект 
жуда катталашиб кетган ҳолларда, у амалда мустақил дастурга айланади ҳамда 
процедурали дастурлаш афзалликларидан фойдаланиш билан бирга унинг 
барча тузоқларига ҳам илиниб қолиши мумкин бўлади. Натижада сиз 
инкапсуляциялаш умуман қўлланмаган дастурда юзага келадиган барча 
муаммоларга дуч келиб қоласиз. 
Объект бир-иккитадан ортиқ вазифа учун масъул эканини аниқлагач, 
масъулиятнинг бир қисмини бошқа объектга олиб ўтиш керак. 
Жорий eтишнинг беркитилганлиги - самарали инкапсуляциялаш 
йўлидаги қадамлардан бири холос. Масъулиятни тегишли равишда 
тақсимламай, натижада сиз процедуралар рўйхатига эга бўлиб қоласиз холос. 
Самарали 
инкапсуляциялаш=абстракция+жорий 
қилишнинг 
беркитилганлиги+масъулият. 
Абстракцияни олиб ташлаб, дастурдан такроран фойдаланиб бўлмайди. 
Жорий қилишнинг беркитилганлигини олиб ташлаб сиз кучли боғланган 
дастурга эга бўласиз. Ниҳоят, масъулиятни олиб ташлаш натижасида эса сиз 
процедурали, маълумотлар ишловига мўлжалланган, марказлашмаган кучли 
боғланган дастурга эга бўласиз. 
Инкапсуляциялаш: намунавий ҳатолар 
Абстракцияни ўта даражада қўллаш синфни ёзишда маълум муаммоларни 
келтириб чиқариши мумкин. Барча фойдаланувчиларга ҳамда барча 
вазиятларда бирдек тўғри келадиган синфни ёзиш мумкин эмас. 
Ҳаддан ташқари абстакциялаш ҳам ҳавфли бўлиши мумкин. Ҳатто агар 
сиз бирон-бир элементнинг ишлаб чиқилишида абстракциядан фойдаланган 
бўлсангиз, у шу бир элементда ҳам барча вазиятларда ишлай олмаслиги 
мумкин. Фойдаланувчининг барча эҳтиёжларини қондира оладиган синфни 
яратиш жуда қийин. Абстракцияга ўралашиб қолиш керак эмас, биринчи галда 
қўйилган масалани ечиш керак. 
Синфга масалани ечиш учун керак бўлганидан кўпроқ нарсани киритиш 
тавсия қилинмайди. Бирданига барча масалаларни ечманг, эътиборингизни 



Download 1,27 Mb.

Do'stlaringiz bilan baham:
1   ...   30   31   32   33   34   35   36   37   ...   46




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish