Các khái niệm cơ bản về bloc trong Flutter

[ad_1]

Bloc – Business Logic Component

Bloc giúp thuận tiện tách biệt phần UI và Business logic, giúp code nhanh, dễ test và dễ sử dụng .
Để hiểu khá đầy đủ về bloc và những ví dụ bạn nên tìm hiểu thêm bloc libary .

Trong Fluttter có 3 thư viện để sử dụng bloc là bloc, flutter_bloc, angular_bloc

Bạn đang đọc: Các khái niệm cơ bản về bloc trong Flutter

+ bloc: core bloc libary
+ flutter_bloc: giúp build nhanh ứng dụng di động reactive.
+ angular_bloc: giúp build nhanh ứng dụng web reactive.

Các khái niệm cốt lỗi trong thư viện bloc

* Events
– Là đầu vào của bloc ví dụ : button presses

* State
– Là đầu ra của Bloc, biểu diễn trạng thái của ứng dụng. Từ các state mà có thể đưa ra các bloc cần thiết.

* Stream
– Là một chuỗi data bất đồng bộ ( async data ), có thể ví stream như những ống nước, ống là stream còn nước là data bất đồng bộ ( asynchronous data ).
Một số các biểu diễn :

123456

StreamlaySo(inttran)async*{

for(inti=0;i

/ / yield giống như return nhưng được dùng trong stream

yieldi;

}

}

1234567

FuturetinhTong(StreamstreamSo)async{

inttong=0;

awaitfor(intvalueinstream){

tong+ =value;

}

returntong;

}

* blocs

bloc được coi như bộ não với trách nhiệm quy đổi ( convert ) những nguồn vào là những stream Event thành những stream State ở đầu ra .
Sử dụng thư viện bloc, sau đó tạo class bloc thừa kế lớp Bloc từ thư viện bloc đã cài, Ví dụ :

12345

import’ package : bloc / bloc.dart ‘;

classDemBlocextendsBloc{

}

Ví dụ :
file counter_bloc. dart

1234567891011121314151617

18

Xem thêm: LGBT là gì? Bạn đã thật sự hiểu về cộng đồng LGBT? • Hello Bacsi

1920

import’ package : bloc / bloc.dart ‘;

enumCounterEvent{increment,decrement}

classCounterBlocextendsBloc{

@override

intgetinitialState=>0;

@override

StreammapEventToState(CounterEventsự kiện)async*{

switch(sự kiện){

caseCounterEvent.decrement:

yieldstate-1;

break;

caseCounterEvent.increment:

yieldstate+1;

break;

}

}

}

( Source : https://bloclibrary.dev/#/coreconcepts )
Trong file main.dart

1234567

voidmain(){

CounterBlocbloc=CounterBloc();

for(inti=0;i

bloc.add(CounterEvent.increment);

}

}

( Source : https://bloclibrary.dev/#/coreconcepts )

Xem thêm: Block là gì? Ý nghĩa Block Facebook, zalo nghĩa là gì

Nêú có 1 số ít khái niệm trong bloc mà bạn chưa biết, những bạn hoàn toàn có thể hiểu chi tiết cụ thể trong bloc libary .

Kết luận: Qua bài viết này các bạn có thể hiểu được bloc trong Flutter là gì, ý nghĩa của nó trong việc xây dựng kiến trúc ứng dụng. Khi làm việc với REST API và Firestore- Firebase, kiến trúc ứng dụng sử dụng bloc là rất cần thiết.
Còn về kiến trúc bloc trong Flutter là gì, bạn có thể xem ở bài viết tiếp theo trong chương này.

Cảm ơn những bạn đã theo dõi !

[ad_2]

Related Posts

Trò chơi mua sắm 4

[ad_1] Một ngày đi Shopping 4 là dòng game thời trang, nơi mà chúng ta có nhiệm vụ và trách nhiệm mua sắm những món đồ mà…

Trò chơi mua sắm 3

[ad_1] Một ngày đi Shopping 3 thuộc dòng game thời trang, với nhiệm vụ mua sắm và tìm kiếm những món đồ mà các bạn đã được…

Game một ngày đi Shopping 2: Trò chơi đi Shopping

[ad_1] Một ngày đi Shopping 2 thuộc dòng game thời trang, khi mà các bạn nhỏ tiến hành đi mua sắm thả ga những món đồ mà…

Trò chơi làm thợ cắt tóc

[ad_1] Hớt tóc thuộc dòng game thời trang, khi mà các bạn sẽ hóa thân thành một thợ cắt tóc chuyên nghiệp nhằm tạo mẫu tóc cho…

Trò chơi bóng rổ Kuroko

[ad_1] Kuroko thuộc dòng game thể thao, hay chúng ta còn được biết đến với cái tên bóng rổ Kuroko hay đội bóng rổ Kuroko cực kỳ…

Game bắn cung: Trò chơi bắn cung

[ad_1] ContentsRelated posts:Giới thiệu game bắn cung Bắn cung một trò chơi 7k7k, 2 người chơi vui và hấp dẫn khi mà bạn sẽ cùng với bạn…

Leave a Reply