Middle
Чаро ҳар қабати меъморӣ дар барнома зарур аст?
sobes.tech AI
Ҷавоб аз AI
Архитектурийн катламнууд хариуцлагыг хуваарилах, програмын засварлалт, туршилтын чадварыг сайжруулахад тусалдаг.
- Төлөөлөх Катам: Хэрэглэгчийн интерфэйсийг харуулах, түүний хамт харилцах үүрэгтэй. Домейн Катамнаас өгөгдлийг авдаг бөгөөд түүнийг үзүүлэхэд тохируулдаг. Хэрэглэгчийн үйлдлийг Домейн Катам руу илгээдэг.
- Домейн Катам: Програмын бизнес логикийг агуулдаг. UI болон дэд бүтцийн дэлгэрэнгүй мэдээллээс тусгаарлагдсан. Байгууллагын нэгжүүд, хэрэглэх тохиолдлууд, репозиторуудыг интерфейсийн хэлбэрээр агуулдаг.
- Нэгжүүд: Гол бизнес объектуудыг төлөөлдөг.
- Хэрэглэх тохиолдлууд (Interactors): Програмтай харилцах сценарийг тодорхойлдог. Тодорхой үүрэг гүйцэтгэхийн тулд репозиторууд, нэгжүүдийн ажлыг зохицуулдаг.
- Репозиторууд (Интерфейсүүд): Өгөгдөл авах, хадгалах гэрээний үүрэг гүйцэтгэдэг. Гүйцэтгэл нь Data Катамд байрладаг.
- Data Катам: Өгөгдөл авах, хадгалах үүрэгтэй. Репозиторуудын хэрэгжүүлэлт, өгөгдлийн эх сурвалжууд, өгөгдлийн загваруудыг агуулдаг.
- Репозиторуудын хэрэгжүүлэлт: Домейн Катамд тодорхойлсон репозиторуудын интерфейсийг хэрэгжүүлдэг.
- Өгөгдлийн эх сурвалжууд: API, орон нутгийн өгөгдлийн сан, хуваалцсан сонголтууд гэх мэт янз бүрийн эх сурвалжуудад хандах боломжийг олгодог.
- Загварууд (DTOs): Өгөгдлийн эх сурвалжуудтай харилцахад ашиглагддаг өгөгдлийн формат, Домейн Катам дахь нэгжүүдээс ялгаатай.
Катламын бүтэц жишээ:
lib/
├── main.dart
├── presentation/
│ ├── widgets/
│ ├── хуудас/
│ ├── блокууд/ // эсвэл бусад төлөвийн менежерүүд
├── domain/
│ ├── нэгжүүд/
│ ├── хэрэглэхТохиолдлууд/
│ ├── репозиторууд/
├── data/
│ ├── репозиторууд/
│ ├── өгөгдлийнЭхСурвалжууд/
│ ├── загварууд/
Хамааралын схем:
Presentation Катам -> Domain Катам <- Data Катам. (Data ба Presentation домейнд хамааралтай, харин домейн хэнээс ч хамааралгүй).