Skip to content

Latest commit

 

History

History
67 lines (52 loc) · 2.32 KB

README.md

File metadata and controls

67 lines (52 loc) · 2.32 KB

lib--
   | --- bindings 
   | --- core 
       | --- entity
       | --- theme
       | --- utils
       | --- common_widgets
       | --- ...
   | --- services
       | --- network
       | --- storage
       | --- ...
   | --- modules
       | --- feature1
           | --- data
               | --- mappers
               | --- dtos
               | --- datasource
               | --- repositories (implement)
           | --- domain
               | --- entities
               | --- repositories (interface)
               | --- usecases
           | --- presentation
               | --- screen1
                   | --- bloc/cubit
                   | --- widgets
               | --- screen2
                   | --- bloc/cubit
                   | --- widgets
   | --- router
  1. lib\bindings: // Khai báo Dependency Injection

  2. lib\core: Khai báo những tài nguyên sử dụng cho app. Ví dụ:

  • entity: Khai báo những entity được sử dụng chung cho app.
  • theme: Khai báo app_themes, app_colors, app_typography...
  • common_widgets: Khai báo những widget được tái sử dụng cho app.
  1. lib\network: Khai báo xử lý liên quan tới dio ( xử lý Interceptors,...)
  2. lib\modules: image

4.1 data layer:

image Lớp này xử lý truy xuất dữ liệu từ nhiều nguồn. Sẽ bao gồm một repository class, nó implements domain và xác định xem nên trả về dữ liệu mới hay dữ liệu được lưu trong bộ nhớ đệm cũng như thời điểm lưu dữ liệu đó vào bộ nhớ đệm. Ngoài ra, lớp nguồn dữ liệu xử lý dữ liệu từ một nguồn cụ thể, thường là API hoặc local database.

  • datasource: Xử lý get dữ liệu từ API hoặc local
  • repositories (implement): Implement repository interface

4.2 domain layer:

Tầng trung gian giữa data layer và presentation layer

  • repositories (interface): Khai báo interface
  • UseCases: xử lý business logic.

4.3 presentation layer: Xử lý render layout.

  1. lib/router: Handle router và navigation cho app.