Chào mọi người, welcome to có thể bạn đã biết

Extension Type trong Flutter

Extension types cho phép bạn thêm các function vào các class, kiểu nguyên thuỷ, bạn muốn mở rộng khả năng của các kiểu dữ liệu có sẵn trong Dart

Hãy coi chúng như những “tiện ích mở rộng” nhẹ bổ sung chức năng như getters, setter, toán tử tùy chỉnh và các hàm được thiết kế riêng cho loại cơ bản

Ưu điểm chính

Mở rộng cho các kiểu dữ liệu có sẵn

Mở rộng cho các kiểu dữ liệu có sẵn

Tái sử dụng các mã nguồn phức tạp

Tái sử dụng các mã nguồn phức tạp

Sự khác nhau giữa extension type và extension method

Về extension method: phương thức mở rộng

Cho phép thêm các phương thức và thuộc tính vào các kiểu dữ liệu hiện có mà không cần tạo một kiểu dữ liệu mới.
Là các phương thức nhẹ và thích hợp để thêm các chức năng đơn giản.
Không thể dùng để định nghĩa một kiểu dữ liệu mới với hành vi hoàn toàn khác.

Về extension type: kiểu mở rộng

Cho phép tạo ra một kiểu dữ liệu mới bao bọc lấy kiểu dữ liệu gốc và cung cấp một API được tùy chỉnh.
Mạnh mẽ hơn và có thể dùng để thêm các chức năng phức tạp.
Phù hợp cho tính khả dụng với các nền tảng bản địa và tối ưu hóa hiệu suất.

Ví dụ

Về EXTENSION TYPE

extion typeextion type

Về EXTENSION METHOD
extension method

Tổng kết thôi nào

Ví dụ này cho thấy cả hai giải pháp đều hoạt động, nhưng giải pháp sau này (Kiểu mở rộng) mạnh mẽ và linh hoạt hơn. Bằng cách sử dụng Kiểu mở rộng, chúng ta có thể tạo ra một kiểu dữ liệu mới EvenNumber với hành vi cụ thể. Điều này có thể hữu ích cho tính khả dụng với các nền tảng bản địa hoặc để tối ưu hóa hiệu suất.

Khác biệt nhất
Kiểu mở rộng có thể có các constructor, trong khi Phương thức mở rộng thì không

Tóm lại:

Sử dụng Phương thức mở rộng cho các chức năng đơn giản.

Sử dụng Kiểu mở rộng cho các chức năng phức tạp, tính khả dụng với nền tảng bản địa hoặc tối ưu hóa hiệu suất.

Kết luận:
Kiểu mở rộng là một công cụ mạnh mẽ để tối ưu hóa hiệu suất, tăng rõ ràng của mã code và tính tương thích trơn tru trong Dart 3.3. Chúng cho phép bạn tạo ra các ứng dụng hiệu quả và có cấu trúc tốt, đặc biệt khi làm việc với mã bản địa hoặc các lĩnh vực quan trọng về hiệu suất.