Sobes.tech
Middle

Чаро ҳар қабати меъморӣ дар барнома зарур аст?

sobes.tech AI

Ҷавоб аз AI

Архитектурийн катламнууд хариуцлагыг хуваарилах, програмын засварлалт, туршилтын чадварыг сайжруулахад тусалдаг.

  • Төлөөлөх Катам: Хэрэглэгчийн интерфэйсийг харуулах, түүний хамт харилцах үүрэгтэй. Домейн Катамнаас өгөгдлийг авдаг бөгөөд түүнийг үзүүлэхэд тохируулдаг. Хэрэглэгчийн үйлдлийг Домейн Катам руу илгээдэг.
  • Домейн Катам: Програмын бизнес логикийг агуулдаг. UI болон дэд бүтцийн дэлгэрэнгүй мэдээллээс тусгаарлагдсан. Байгууллагын нэгжүүд, хэрэглэх тохиолдлууд, репозиторуудыг интерфейсийн хэлбэрээр агуулдаг.
    • Нэгжүүд: Гол бизнес объектуудыг төлөөлдөг.
    • Хэрэглэх тохиолдлууд (Interactors): Програмтай харилцах сценарийг тодорхойлдог. Тодорхой үүрэг гүйцэтгэхийн тулд репозиторууд, нэгжүүдийн ажлыг зохицуулдаг.
    • Репозиторууд (Интерфейсүүд): Өгөгдөл авах, хадгалах гэрээний үүрэг гүйцэтгэдэг. Гүйцэтгэл нь Data Катамд байрладаг.
  • Data Катам: Өгөгдөл авах, хадгалах үүрэгтэй. Репозиторуудын хэрэгжүүлэлт, өгөгдлийн эх сурвалжууд, өгөгдлийн загваруудыг агуулдаг.
    • Репозиторуудын хэрэгжүүлэлт: Домейн Катамд тодорхойлсон репозиторуудын интерфейсийг хэрэгжүүлдэг.
    • Өгөгдлийн эх сурвалжууд: API, орон нутгийн өгөгдлийн сан, хуваалцсан сонголтууд гэх мэт янз бүрийн эх сурвалжуудад хандах боломжийг олгодог.
    • Загварууд (DTOs): Өгөгдлийн эх сурвалжуудтай харилцахад ашиглагддаг өгөгдлийн формат, Домейн Катам дахь нэгжүүдээс ялгаатай.

Катламын бүтэц жишээ:

lib/
├── main.dart
├── presentation/
│   ├── widgets/
│   ├── хуудас/
│   ├── блокууд/  // эсвэл бусад төлөвийн менежерүүд
├── domain/
│   ├── нэгжүүд/
│   ├── хэрэглэхТохиолдлууд/
│   ├── репозиторууд/
├── data/
│   ├── репозиторууд/
│   ├── өгөгдлийнЭхСурвалжууд/
│   ├── загварууд/

Хамааралын схем:

Presentation Катам -> Domain Катам <- Data Катам. (Data ба Presentation домейнд хамааралтай, харин домейн хэнээс ч хамааралгүй).