# Kiến trúc ứng dụng Flutter (Flutter) > Clean Architecture, kiến trúc phân lớp, mô-đun hóa, cấu trúc dựa trên feature, khả năng mở rộng - 22 câu hỏi phỏng vấn - Senior - [Câu hỏi phỏng vấn: Flutter](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van.md) ## 1. Ba lớp chính của Clean Architecture trong một ứng dụng Flutter là gì? **Câu trả lời** Clean Architecture chia ứng dụng thành ba lớp riêng biệt: Domain (entity và use case), Data (repository và data source) và Presentation (UI và state management). Sự phân tách này đảm bảo logic nghiệp vụ luôn độc lập với các chi tiết triển khai như framework UI hay cơ sở dữ liệu. Lớp Domain không phụ thuộc vào bất kỳ lớp nào khác, điều này giúp việc kiểm thử và bảo trì dễ dàng hơn. ## 2. Vai trò chính của lớp Domain trong Clean Architecture là gì? **Câu trả lời** Lớp Domain chứa logic nghiệp vụ thuần túy của ứng dụng, bao gồm các entity (đối tượng nghiệp vụ) và use case. Lớp này hoàn toàn độc lập với framework, cơ sở dữ liệu và UI. Nó định nghĩa các quy tắc nghiệp vụ và hợp đồng (interface) mà các lớp khác phải triển khai, qua đó đảm bảo lõi của ứng dụng luôn ổn định trước các thay đổi kỹ thuật. ## 3. Tại sao Repository pattern lại thiết yếu trong một kiến trúc Flutter có cấu trúc tốt? **Câu trả lời** Repository pattern hoạt động như một lớp trừu tượng giữa logic nghiệp vụ và các nguồn dữ liệu. Nó cho phép lớp Domain truy cập dữ liệu mà không cần biết nguồn gốc của nó (API, cache cục bộ, cơ sở dữ liệu). Sự trừu tượng này giúp dễ dàng thay đổi nguồn dữ liệu, kiểm thử đơn vị với mock và quản lý các chiến lược cache phức tạp trong khi vẫn giữ code nghiệp vụ gọn gàng. ## Còn 19 câu hỏi nữa - Sự khác biệt giữa Entity và Model trong Flutter Clean Architecture là gì? - Use Case (hay Interactor) trong Clean Architecture là gì? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Flutter khác - [Kiến thức cơ bản về Dart](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/dart-basics.md): 25 câu hỏi, Junior - [Kiến thức cơ bản về ngôn ngữ Dart](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/dart-language-essentials.md): 15 câu hỏi, Junior - [Kiến thức cơ bản về Flutter](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/flutter-fundamentals.md): 18 câu hỏi, Junior - [Vòng đời của Widget](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/widget-lifecycle.md): 20 câu hỏi, Junior - [Lưu trữ cục bộ](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/local-storage.md): 20 câu hỏi, Junior - [Vòng đời ứng dụng](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/app-lifecycle.md): 20 câu hỏi, Junior - [Layouts & Constraints](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/layouts-constraints.md): 24 câu hỏi, Mid-Level - [ListView & GridView](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/listview-gridview.md): 25 câu hỏi, Mid-Level - [Điều hướng & Routing](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/navigation-routing.md): 22 câu hỏi, Mid-Level - [Quản lý State cơ bản](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/state-management-basics.md): 22 câu hỏi, Mid-Level - [Provider Pattern](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/provider-pattern.md): 18 câu hỏi, Mid-Level - [Networking & HTTP](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/networking-http.md): 20 câu hỏi, Mid-Level - [Tuần tự hóa JSON](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/json-serialization.md): 20 câu hỏi, Mid-Level - [Cơ sở dữ liệu cục bộ](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/local-database.md): 22 câu hỏi, Mid-Level - [Biểu mẫu & Xác thực](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/forms-validation.md): 20 câu hỏi, Mid-Level - [Hoạt ảnh](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/animations.md): 20 câu hỏi, Mid-Level - [Tích hợp Firebase](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/firebase-integration.md): 18 câu hỏi, Mid-Level - [Kiểm thử đơn vị](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/unit-testing.md): 20 câu hỏi, Mid-Level - [Kiểm thử widget](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/widget-testing.md): 18 câu hỏi, Mid-Level - [Build & Triển khai](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/build-deployment.md): 16 câu hỏi, Mid-Level - [Quản lý gói](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/package-management.md): 16 câu hỏi, Mid-Level - [Bộ nhớ & Hiệu năng](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/memory-performance.md): 22 câu hỏi, Senior - [Streams & RxDart](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/streams-rxdart.md): 24 câu hỏi, Senior - [State Management nâng cao](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/advanced-state-management.md): 26 câu hỏi, Senior - [Flutter Design Patterns](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/flutter-design-patterns.md): 24 câu hỏi, Senior - [Tối ưu hóa hiệu suất](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/performance-optimization.md): 26 câu hỏi, Senior - [Platform Channels](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/platform-channels.md): 20 câu hỏi, Senior - [Custom Painting](https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/custom-painting.md): 22 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/flutter/cau-hoi-phong-van/flutter-app-architecture