სხვაობა დაწყვილებასა და შეკრულობას შორის

სხვაობა დაწყვილებასა და შეკრულობას შორის
სხვაობა დაწყვილებასა და შეკრულობას შორის

ვიდეო: სხვაობა დაწყვილებასა და შეკრულობას შორის

ვიდეო: სხვაობა დაწყვილებასა და შეკრულობას შორის
ვიდეო: ნაკადი და მაგნიტური ნაკადი 2024, ნოემბერი
Anonim

დაწყვილება vs ერთობლიობა

დაწყვილება და შეკრულობა არის ორი ცნება, რომელიც გვხვდება Java-ში (და ყველა სხვა ობიექტზე ორიენტირებულ ენაზე). დაწყვილება ზომავს რამდენად არის თითოეული პროგრამის მოდული დამოკიდებული სხვა პროგრამის მოდულებზე. თანმიმდევრულობა ზომავს რამდენად მჭიდროდ არის დაკავშირებული თითოეული ფუნქცია მოდულის შიგნით. ფაქტობრივად, ნებისმიერ ობიექტზე ორიენტირებულ ენას (მათ შორის Java-ს) აქვს ორი მთავარი მიზანი - გაზარდოს თანმიმდევრულობა და შეამციროს დაწყვილება ერთდროულად, ყველაზე ეფექტური პროგრამების შემუშავების მიზნით. ეს ორი პროგრამული უზრუნველყოფის საინჟინრო მეტრიკა შეიმუშავა ლარი კონსტანტინეს მიერ პროგრამული უზრუნველყოფის შეცვლისა და შენარჩუნების ხარჯების შესამცირებლად.

რა არის ერთობლიობა?

კოჰეზია ზომავს რამდენად მჭიდროდ არის დაკავშირებული თითოეული ფუნქცია პროგრამის მოდულში. კარგად სტრუქტურირებული კლასები იწვევს უაღრესად შეკრულ პროგრამებს. თუ გარკვეული კლასი ასრულებს უაღრესად დაკავშირებული ფუნქციების ერთობლიობას, ამბობენ, რომ ეს კლასი არის შეკრული. მეორეს მხრივ, თუ კლასი ასრულებს სრულიად შეუთავსებელ ფუნქციებს, ეს ნიშნავს, რომ კლასი საერთოდ არ არის შეკრული. მნიშვნელოვანია გვესმოდეს, რომ თანმიმდევრულობა არ ნიშნავს იმას, რომ მთლიან აპლიკაციას არ აქვს საჭირო ფუნქციონირება. უბრალოდ, ერთიანობის გარეშე, ძალიან რთული იქნება ფუნქციონირების მართვა, რადგან ისინი ბევრ არასწორ ადგილას იქნებიან მიმოფანტული, რადგან აპლიკაციის სირთულე დროთა განმავლობაში იზრდება. კოდში მიმოფანტული ქცევების შენარჩუნება, შეცვლა და გაფართოება ძალიან დამღლელია ყველაზე გამოცდილი პროგრამისტებისთვისაც კი.

რა არის დაწყვილება?

დაწყვილება ზომავს რამდენად არის დამოკიდებული პროგრამის თითოეული მოდული სხვა პროგრამის მოდულებზე.ორ ობიექტს შორის ურთიერთქმედება ხდება იმის გამო, რომ არსებობს დაწყვილება. თავისუფლად დაწყვილებულ პროგრამებს აქვთ მაღალი მოქნილობა და გაფართოება. ძლიერი შეერთება არასდროს არის კარგი, რადგან ერთი ობიექტი შეიძლება დიდად იყოს დამოკიდებული სხვა ობიექტზე. ეს კოშმარია, როდესაც კოდი იცვლება, რადგან მაღალი დაწყვილება ნიშნავს, რომ პროგრამისტებმა უნდა იმუშაონ კოდის რამდენიმე ადგილზე თუნდაც ერთი ქცევის მოდიფიკაციისთვის. ძლიერი შეერთება ყოველთვის იწვევს პროგრამებს დაბალი მოქნილობისა და ნაკლები მასშტაბურობის/გაფართოების მქონე პროგრამებზე. თუმცა, პროგრამირების ენებში, როგორიცაა Java, დაწყვილების სრულად თავიდან აცილება შეუძლებელია. მაგრამ რეკომენდირებულია, რომ პროგრამისტებმა მაქსიმალურად შეამცირონ დაწყვილება. ასევე შესაძლებელია გარკვეული შეერთების ქონა, რათა დაეხმაროს ობიექტებს ერთმანეთთან ურთიერთქმედებაში მისი მასშტაბურობისა და მოქნილობის შეფერხების გარეშე.

რა განსხვავებაა დაწყვილებასა და შეკრულობას შორის?

მიუხედავად იმისა, რომ დაწყვილება და თანხვედრა ეხება მოდულის ხარისხს პროგრამული უზრუნველყოფის ინჟინერიაში, ისინი სრულიად განსხვავებული ცნებებია. Cohesion საუბრობს იმაზე, თუ რამდენად არის დაკავშირებული ფუნქციონირება ერთმანეთთან მოდულის შიგნით, ხოლო დაწყვილება ეხება იმაზე, თუ რამდენად არის დამოკიდებული ერთი მოდული სხვა პროგრამის მოდულებზე მთელი განაცხადის ფარგლებში. იმისათვის, რომ გქონდეთ საუკეთესო ხარისხის პროგრამული უზრუნველყოფა, ერთიანობა და დაწყვილება უნდა მიაღწიოს მათი სპექტრის ორ საპირისპირო ბოლოს. სხვა სიტყვებით რომ ვთქვათ, ფხვიერი შეერთება და ძლიერი შეკრულობა უზრუნველყოფს საუკეთესო პროგრამულ უზრუნველყოფას. კერძო ველების, არა-საჯარო კლასების და კერძო მეთოდების ქონა უზრუნველყოფს ფხვიერ დაწყვილებას, ხოლო ყველა წევრს ხილვადს ხდის კლასში და პაკეტის ნაგულისხმევ ხილვადობას უზრუნველყოფს მაღალი თანმიმდევრულობა.

გირჩევთ: