Давхаргат архитектур нь системийг тодорхой давхаргуудад хувааж, тус бүрд нь тодорхой үүрэг оноох загвар юм. Давхарга бүр нь зөвхөн өөрийн дээд болон доод давхаргатайгаа харьцаж, харин бусад давхаргатай шууд харьцаж чадахгүй. Энэ нь системийн давхаргуудын бие даасан байдлыг нэмэгдүүлж, давхаргуудын хоорондын хамаарлыг (coupling) багасгадаг.
Давхарга бүр нь өөрсдийн үүргээ гүйцэтгэдэг учраас тэдгээрийг зэрэг хөгжүүлж болох бөгөөд нэг давхаргад хийсэн өөрчлөлт нь бусад давхаргад нөлөөлөхгүй, ингэснээр системийн төвөгтэй байдал буурдаг.
Үндсэн 3 Давхарга:
- Presentation Layer :
- Энэ давхарга нь хэрэглэгчтэй харьцаж, хэрэглэгчийн хэрэгцээг хангах өгөгдлийг харуулах болон хэрэглэгчийн оролт мэдээллийг хүлээн авах үүрэгтэй. Мөн Business Logic Layer-тэй харилцаж өгөгдөл дамжуулна.
- Business Logic Layer :
- Энэхүү давхарга нь системийн гол бизнес процесс, тооцоолол болон логик асуудлыг шийддэг. Энэ давхарга нь Data Access Layer-тэй харилцаж, өгөгдөлтэй ажилладаг.
- Data Access Layer :
- Энэ давхарга нь өгөгдөлтэй шууд харьцаж, өгөгдлийг оруулах, унших, шинэчлэх болон устгах үйлдлүүдийг гүйцэтгэдэг.
Жишээ: Онлайн дэлгүүрийн системийн хэсэг
Presentation Layer: Хэрэглэгч бараа сагсанд нэмэх.
Business Logic Layer: Барааны үнийн нийт дүнг тооцоолох, хямдрал хэрэглэх.
Data Access Layer: Барааны үнийг унших, үлдэгдэл бараагаас тоог хасаж хадгалах.
Давхаргат Архитектурын Давуу Талууд:
- Системийн сайжруулалт: Бүхэл системийг жижиг хэсгүүдэд хувааснаар хөгжүүлэлтийн явцад кодыг сайжруулах, өөрчлөх нь амархан болдог.
- Бусад давхаргадаа нөлөөлөлгүй өөрчлөлт: Нэг давхарга дээр асуудал үүссэн эсвэл шинэчлэлт хийх үед бусад давхаргадад нөлөөлөхгүй. Энэ нь системийн төвөгтэй байдлыг бууруулж, аюулгүй байдлыг сайжруулдаг.
- Зэрэг Хөгжүүлэлт: Давхаргуудыг бие дааж хөгжүүлэх боломжтой бөгөөд хөгжүүлэлтийн явц хурдан, хэмнэлттэй болдог.
Энэхүү давхаргат архитектурыг өөрөөр N-tier буюу N түвшинт архитектур гэдэг ба хөгжүүлэгчийн дизайн болон системийн шаардлагаас хамаараад энэхүү хэдэн ч төрлийн давхарга байж болохыг анхаарна уу !.