Холбоо ба нэгдэл
Холбоо ба нэгдмэл байдал нь Java-д (болон бусад бүх объект хандалтат хэл) байдаг хоёр ойлголт юм. Холболт нь програмын модулиуд тус бүр нь бусад програмын модулиудаас хэр хамааралтай болохыг хэмждэг. Нэгдмэл байдал нь модуль доторх функц тус бүр хэр хүчтэй холбоотой болохыг хэмждэг. Үнэн хэрэгтээ аливаа объект хандалтат хэл (Java гэх мэт) нь хамгийн үр дүнтэй программуудыг боловсруулахын тулд нэгдмэл байдлыг нэмэгдүүлэх, холболтыг багасгах гэсэн хоёр үндсэн зорилготой байдаг. Эдгээр хоёр програм хангамжийн инженерийн хэмжигдэхүүнийг Ларри Константин програм хангамжийг өөрчлөх, засвар үйлчилгээ хийх зардлыг бууруулах зорилгоор боловсруулсан.
Нэгдмэл байдал гэж юу вэ?
Нэгдмэл байдал нь програмын модуль доторх функц тус бүр хэр хүчтэй холбоотой болохыг хэмждэг. Сайн зохион байгуулалттай ангиуд нь маш уялдаа холбоотой хөтөлбөрүүдэд хүргэдэг. Хэрэв тодорхой анги нь хоорондоо нягт уялдаатай олон функцийг гүйцэтгэж байгаа бол тэр анги нь нэгдмэл гэж нэрлэгддэг. Нөгөөтэйгүүр, хэрэв анги нь хоорондоо огт хамааралгүй олон функцийг гүйцэтгэж байгаа бол тухайн анги нь нэгдмэл биш гэсэн үг юм. Нэгдмэл байдал байхгүй байна гэдэг нь ерөнхий программ нь шаардлагатай функцгүй гэсэн үг биш гэдгийг ойлгох нь чухал юм. Зөвхөн нэгдмэл байдалгүйгээр функцийг удирдахад маш хэцүү байх болно, учир нь тэдгээр нь олон буруу газар тараагдах болно, учир нь програмын нарийн төвөгтэй байдал цаг хугацааны явцад нэмэгдэх болно. Кодын бүх хэсэгт тархсан зан үйлийг хадгалах, өөрчлөх, өргөжүүлэх нь хамгийн туршлагатай програмистуудад хүртэл маш уйтгартай байдаг.
Холбогч гэж юу вэ?
Холбоо нь хөтөлбөрийн модулиуд тус бүр нь бусад програмын модулиудаас хэр хамааралтай болохыг хэмждэг. Хоёр объектын хоорондын харилцан үйлчлэл нь холболт байгаа тул үүсдэг. Сул холболттой програмууд нь уян хатан, өргөтгөх чадвартай байдаг. Хүчтэй холболт нь хэзээ ч сайн байдаггүй, учир нь нэг объект бусад объектоос ихээхэн хамааралтай байж болно. Кодыг өөрчлөхөд энэ нь хар дарсан зүүд юм, учир нь өндөр холболт нь програмистууд нэг зан үйлийг өөрчлөхийн тулд хэд хэдэн кодын газар дээр ажиллах шаардлагатай болдог гэсэн үг юм. Хүчтэй холболт нь уян хатан чанар багатай, өргөтгөх/өргөтгөх чадвар багатай хөтөлбөрүүдэд үргэлж хүргэдэг. Гэсэн хэдий ч Java гэх мэт програмчлалын хэлүүдэд холболтоос бүрэн зайлсхийх боломжгүй юм. Гэхдээ програмистууд холболтыг аль болох багасгахын тулд чадах бүхнээ хийхийг зөвлөж байна. Мөн объектыг өргөтгөх чадвар, уян хатан байдалд нь саад учруулахгүйгээр бие биетэйгээ харилцахад туслах зарим холболттой байж болно.
Холбогч ба нэгдмэл байдлын ялгаа нь юу вэ?
Хэдийгээр нэгдэл, уялдаа холбоо нь програм хангамжийн инженерчлэлийн модулийн чанарт хамаарах боловч тэдгээр нь огт өөр ойлголт юм. Нэгдмэл байдал нь модуль доторх функцууд хоорондоо хэр зэрэг холбоотой болохыг ярьдаг бол холболт нь нэг модуль нь бүхэл програмын бусад програмын модулиудаас хэр их хамааралтай болохыг харуулдаг. Хамгийн сайн чанартай програм хангамжтай байхын тулд нэгдэл ба холболт нь спектрийн хоёр эсрэг талд хүрэх ёстой. Өөрөөр хэлбэл, сул холболт, хүчтэй уялдаа холбоо нь хамгийн сайн програм хангамжийг өгдөг. Хувийн талбарууд, нийтийн бус ангиуд болон хувийн аргуудтай байх нь сул холболтыг бий болгохын зэрэгцээ анги доторх бүх гишүүдийг харагдуулах ба багцыг өгөгдмөл байдлаар харуулах нь өндөр уялдааг хангадаг.