- vừa được xem lúc

Design Pattern cùng Flutter. Tập 1: Introduce

0 0 13

Người đăng: Nguyễn Đức Nghĩa

Theo Viblo Asia

Tổng quan về Series

Xin chào các bạn, hẳn đã là dev ai cũng từng đi ngang hoặc lướt qua một lần về thuật ngữ Design Pattern (DP) rồi nhỉ. Vậy nó là gì mà khiến cho bao "chàng" dev phải điêu đứng và phải thốt lên nó quá khó nhai và hiểu hết về nó, nên bằng sự cật lực đi tìm miền đất hứa với hai bàn tay trắng, mình sẽ bóc phốt từng DP mà mình cho là xứng đáng!!!

Series này sử dụng ngôn ngữ Dart và framework Flutter để thực tế hoá các ví dụ về DP, nếu các bạn chưa biết gì về Flutter có thể tham khảo series này của một người Leader đáng ngưỡng mộ của mình - Nguyễn Thành Minh "Flutter From Zero to Hero"

Design Pattern..??

Lập trình hiện nay không còn là công việc đặc thù của những chuyên gia mới làm được, mà có thể với bất kỳ ai có một chiếc máy tính đều có thể trở thành một lập trình viên. Chính vì vậy mà có rất nhiều ngôn ngữ được xây dựng nên kèm những thư viện phát triển không ngừng nghỉ, đi kèm với đó là xuất hiện những vấn đề chung mà bất kì ngôn ngữ nào cũng gặp tương tự, nên DP ra đời là giải pháp để giải quyết vấn đề chung lặp lại, thường xảy ra trong một phần mềm.

Có rất nhiều loại DP khác nhau, ứng dụng vào những mục đích khác nhau, nó đưa ra một quy tắc và thiết kế để làm mã nguồn trở nên mềm dẻo hơn, dễ mở rộng hơn và giảm thiểu được code trùng lặp hay phải viết quá nhiều

Tưởng tượng nó như những kinh nghiệm mà ông cha ta từ xa xưa đã để lại, và con cháu chỉ cần thực hành làm theo thì mọi việc sẽ trở nên dễ giải quyết hơn, có hướng đi đúng đắn hơn và nhanh hơn là tự vắt óc suy nghĩ rất nhiều (mà có khi còn sai, hehe)

Mục tiêu

Series này sẽ đưa ra các loại DP thuộc từng nhóm khác nhau: creational (khởi tạo) , structural (cấu trúc), behavioral (hành vi) chủ yếu phục vụ cho Flutter, sẽ có cả lý thuyết và ví dụ áp dụng vào công việc hằng ngày của mình

Mã nguồn về ví dụ mình sẽ đưa lên Github và cập nhật dần dần. Mã nguồn sẽ sử dụng ngôn ngữ Dart, và sẽ đơn giản hoá nhất nên đừng lo nếu bạn chưa kịp học về nó nhé ^^

Creational Design Pattern

Mẫu thiết kế này hướng tới việc khởi tạo class ban đầu. Bao gồm các cách khởi tạo khác nhau và làm cho hệ thống độc lập với các đối tượng được tạo ra.

Một số mẫu thiết kế tiêu biểu:

  • Singleton
  • Prototype
  • Factory Method
  • Builder
  • Abstract Factory

Structural Design Pattern

Mẫu thiết kế này hướng tới việc kết nối các đối tượng để hình thành cấu trúc lớn hơn, mở rộng hệ thống.

Một số mẫu thiết kế tiêu biểu:

  • Adapter
  • Composite
  • Facade
  • Decorator
  • Bridge
  • Proxy
  • Flyweight

Behavioral Design Pattern

Mẫu thiết kế này hướng tới việc tương tác lẫn nhau giữa các đối tượng và phân chia trách nhiệm cho chúng.

Một số mẫu thiết kế tiêu biểu:

  • Template Method
  • Strategy
  • State
  • Interpeter
  • Iterator
  • Command
  • Memento
  • Chain of responsibility
  • Visitor
  • Mediator
  • Observe

Tổng kết

Vậy qua phần giới thiệu sơ qua, mình hi vọng các bạn có cái nhìn tổng quan về nó, để đi vào cụ thể chi tiết đón chờ những phần tiếp theo của mình nhé ^^

Phần tiếp theo mình sẽ giới thiệu Design Pattern đầu tiên - Singleton - "Anh là duy nhất"

Bình luận

Bài viết tương tự

- vừa được xem lúc

Học Flutter từ cơ bản đến nâng cao. Phần 1: Làm quen cô nàng Flutter

Lời mở đầu. Gần đây, Flutter nổi lên và được Google PR như một xu thế của lập trình di động vậy.

0 0 281

- vừa được xem lúc

Học Flutter từ cơ bản đến nâng cao. Phần 3: Lột trần cô nàng Flutter, BuildContext là gì?

Lời mở đầu. Màn làm quen cô nàng FLutter ở Phần 1 đã gieo rắc vào đầu chúng ta quá nhiều điều bí ẩn về nàng Flutter.

0 0 212

- vừa được xem lúc

Flutter Animation: Creating medium’s clap animation in flutte Part II

Trong phần 1 mình đã giới thiệu với các bạn cơ bản về Animation trong Flutter. Score Widget Size Animation.

0 0 64

- vừa được xem lúc

Flutter - GetX - Using GetConnect to handle API request (Part 4)

Giới thiệu. Xin chào các bạn, lại là mình với series về GetX và Flutter.

0 0 359

- vừa được xem lúc

StatefulWidget và StatelessWidget trong Flutter

I. Mở đầu. Khi các bạn build một ứng dụng với Flutter thì Widgets là thứ không thể thiếu đúng không ạ. Và 2 loại Widget không thể thiếu đó là StatefullWidget và StatelessWidget.

0 0 145

- vừa được xem lúc

Tìm hiểu về Riverpod - Provider nhưng không hắn :v

Trong Flutter có rất nhiều các quản lý state: Provider, Bloc, GetX, Redux,... khó mà nói cái nào tốt hơn cái nào. Tuy nhiên nếu bạn đã làm quen với Provider thì không ngại để tìm hiểu thêm về Riverpod. Một bản nâng cấp của Provider. Nếu bạn để ý thì cái tên "Riverpod" là các chữ cái của "Provider" đ

0 0 67