Загварчлалын хэв :: Ажиглагч

Observer Pattern

Загварчлалын хамгийн түгээмэл тааралддаг хэвүүдийн нэг болох Ажиглагч хэвийг тайлбарлая. Нэг обьект дээр болсон үзэгдлийг өөр нэг ажиглагч обьект руу мэдэгдэх шаардлагатай үед энэ загварыг ашиглана. Субьект буюу үзэгдэл үүсгэх обьект дээр бүртгэх, хасах, мэдэгдэх гэсэн гурван функц байна, Ажиглагч дээр мэдэгдэл ирэхэд дуудагдах мэдэгдэх функц байна. Бүртгэх функц нь Ажиглагч төрлийн аргументтай дуудагдаж тухайн ажиглагчыг өөртөө хадгалж авна. Хэрэв Субьект дээр гадагш сонирхож байгаа үзэгдэл маань үүсвэл Мэдэгдэх функцыг дуудна. Мэдэгдэх функц нь хадгалж авсан Ажиглагчуудын мэдэгдэл боловсруулах функцыг нь дуудаж ажиллуулна. Ажиглагч загварын ажиллах ерөнхий зарчим иймэрхүү. Субьект болон Ажиглагч классуудыг хийсвэр байдлаар хийгээд хэрэглэхдээ тэдгээрээс удамшсан классуудыг байгуулах замаар ашигладаг.

Хэрвээ ажиглагч загварыг ашиглахгүйгээр нэг обьект нөгөө обьект дээр үзэгдэл үүссэн эсэхийг мэднэ гэвэл байн байн шалгах замаар шийдэж болох ч энэ нь тийм ч оновчтой арга биш нь ойлгомжтой. Ажиглагч загварыг ашигласан жишээг аль ч обьект хандалагат програмчлалын хэрэгслээс олж харж болно. Жишээ нь жавагийн стандарт сангийн Observable класс, жава swing зэрэгт хэрэглэсэн байдаг.

Сэргэлэн дүү нар минь Ажиглагч загварыг хэрэглээд үзээрэй, энгийн болохоороо мундаг байгаа юм шүү дээ.

Илүү дэлгэрэнгүй: