Upload
batzorigt-rentsen
View
222
Download
4
Tags:
Embed Size (px)
Citation preview
Объект хандлагат программчлал(хэрэглээ-design patterns)
Р. Батзоригт2014-11-12
Давуу тал
Давуу тал
• Reusable - Дахин ашиглагдах
Давуу тал
• Reusable - Дахин ашиглагдах• Maintainable – Засвар өөрчлөлт оруулахад
хялбар
Давуу тал
• Reusable - Дахин ашиглагдах• Maintainable – Засвар өөрчлөлт оруулахад
хялбар• Testable - Тестлэхэд хялбар (хамгийн чухал!)
Давуу тал
• Reusable - Дахин ашиглагдах• Maintainable – Засвар өөрчлөлт оруулахад
хялбар• Testable - Тестлэхэд хялбар (хамгийн чухал!)• Modular – Хамаарал багатай хэсгүүдэд
программыг хувааж болно
Давуу тал
• Reusable - Дахин ашиглагдах• Maintainable – Засвар өөрчлөлт оруулахад
хялбар• Testable - Тестлэхэд хялбар (хамгийн чухал!)• Modular – Хамаарал багатай хэсгүүдэд
программыг хувааж болно• Simple, Readable - Ойлгоход хялбар
Давуу тал
• Reusable - Дахин ашиглагдах• Maintainable – Засвар өөрчлөлт оруулахад
хялбар• Testable - Тестлэхэд хялбар (хамгийн чухал!)• Modular – Хамаарал багатай хэсгүүдэд
программыг хувааж болно• Simple, Readable - Ойлгоход хялбар• Parallel development – Программ модулиудыг
зэрэгцээ хөгжүүлэх боломжтой
Сул тал
• Удаан үргэлжлэхгүй, богино хугацааны, эсвэл түр зуурын төсөлд тохиромжгүй
• цэвэр тооцооны программд тохиромжгүй• Паралель программчлалд (web service, back end)
тохиромжгүй• Программын хэмжээ их болдог, компьтерийн(CPU,
memory) хүчин чадал өндөр байх шаардлагатай• tool г.м жижиг хэмжээний программ бичихэд
тохиромжгүй• Бүх зүйлийг объектоор илэрхийлэх боломжгүй -
if all you have is a hammer, everything looks like a nail
Яаж зохистой хэрэгжүүлж сурах вэ?
• Хамгийн дөт зам: Өргөн хэрэглэгддэг тогтсон хэв загварыг (design patterns) авч ашиглах
• Түүгээр дамжуулан ОХП-ын талаарх ойлголтоо баяжуулах, бататгах
Design patterns- Зохиомжын хэлбэр
• Хөгжлийн явцад хуримтлагдсан сайтар шалгагдаж, батлагдсан ноу хау
• Ер нь олон янзын зохиомж байдаг• “Design Patterns: Elements of Reusable
Object-Oriented Software”- Энэ номонд өргөн хэрэглэгддэг 23 загварыг ангилж, нэр оноосон байдаг
Design Patterns
• Оновчтой шийдлийг богино хугацаанд гаргах боломжтой
• Бусадтай хялбархан ойлголцож болно• ОХП, зохиомжийн талаарх мэдлэгээ ахиулах• Энгийн ойлгомжтой, засвар өөрчлөлт хийх,
тестлэхэд хялбар программ бичиж сурна• Өмнө бичсэн программыг хөндөлгүйгээр шинэ боломж-өөрчлөлтийг амархан нэмж болно
Нийт 23 загвар буй
Gang of 4 эдгээрийг 3 хэсэгт хуваажээ• Creational - Объектыг үүсгэхтэй холбоотой 5• Structural - Бүтэцтэй холбоотой 7• Behavioral – Үйл хөдлөлтэй холбоотой 11
Нийт 23 загварыг 3 бүлэгт хуваажээ
Singleton• Инстансыг нь нэгээс илүү үүсгэх боломжгүй классыг Singleton класс гэнэ.• Singleton-г ихэвчлэн дараах байдлаар хэрэгжүүлдэг: - Байгуулагч функцыг гаднаас дуудах боломжгүй - Инстанс үүсгэгч классын функц буюу static factory method-той байна - Инстанс-г хадгалах гаднаас хандах боломжгүй классын хувьсагчтай байна
Singleton
Программчлалын хэлний онцлогоос хамаараад янз бүрээр хэрэгжүүлж болно.Яаж хэрэгжүүлж болохыг java хэл дээр тайлбарлая
Singleton
Түгээмэл хэрэглэгддэг арга: Сул тал - Multi thread орчинд удаан
SingletonХурдан, олон газраас зэрэг хандах үед найдвартай ажиллах боловч getInstance method дуудагдахаас өмнө Singleton класс ачаалагдаж санах ой хуваарилагдна.
SingletonХурдан, олон газраас зэрэг хандах үед найдвартай ажиллана. getInstance method дуудагдах үед л SingletonHolder класс ачаалагдаж санах ой хуваарилагдна. Singleton класс хэн нэгнээс удамших шаардлагатай бол энэ арга хамгийн зөв, оновчтой хувилбар.
SingletonSingleton класс хэн нэгнээс удамших шаардлагагүй бол энэ арга хамгийн хялбар бөгөөд зөв, олон асуудлыг шийдсэн (serializing, thread safe, non blocking) оновчтой хувилбар (Effective Java (2nd Edition) [Joshua Bloch]).
Үргэлжлэл бий ...
• Үргэлжлэлийг дараагийн дугаарт