Giới Thiệu Khóa Học Flutter & Dart - SOLID Principle Và Top Design Pattern [Mã - 6993 A]
Tìm hiểu cách cải thiện Code Flutter & Dart của bạn thông qua việc nắm vững các nguyên lý S.O.L.I.D và Top GoF Design Pattern.
Bạn sẽ học được gì?
- ✓ Làm chủ các design pattern cơ bản và quan trọng nhất trong Software Engineering hiện đại bên trong Flutter framework sử dụng Dart.
- ✓ Tìm hiểu và tiếp thu các nguyên lý thiết kế S.O.L.I.D như những Senior Developer dày dạn kinh nghiệm làm.
- ✓ Có được sự hiểu biết sâu sắc về WHAT, WHY, và HOW đối với những Design Pattern cơ bản đó.
- ✓ Nhận full Architectural exposition (với UML) của từng pattern cũng như các kịch bản thế giới thực với các ví dụ coding thực hành cho từng pattern.
- ✓ Làm việc và hoàn thành các bài tập dựa trên Dart sẽ nâng cao hiểu biết của bạn về các pattern đó sâu hơn và cơ bản hơn.
- ✓ Tìm hiểu cách xác định best pattern cho Architectural challenge nhất định.
Tất cả chúng ta đều muốn trở thành software developer giỏi hơn và có thể tự gọi mình là "Software Engineer" hay "Software Architect", nhưng để làm được điều đó trước tiên bạn phải nắm vững một số design pattern.
Khóa học này sẽ đưa bạn đi đúng hướng đến đích đó.
Chúng tôi sẽ hướng dẫn bạn cách nhận biết khi nào nên sử dụng các design pattern cụ thể để xây dựng các hệ thống phức tạp theo cách divide-and-conquer manner để giảm thiểu và trừu tượng hóa độ phức tạp.
Nhưng thay vì tìm hiểu tất cả các design pattern hiện có, chúng tôi đã tuyển chọn các GoF Design Pattern cơ bản hàng đầu, quan trọng nhất cho bạn.
Tất cả những điều đó đều nằm trong bối cảnh Flutter Framework sử dụng Dart .
Chúng tôi bắt đầu với sự hiểu biết đầy đủ về S.O.L.I.D Design Principles và cách chúng liên quan đến các design pattern. Chúng tôi giải thích mọi thứ trong bối cảnh các vấn đề thực tế cũng như các ví dụ code cụ thể.
Khi kết thúc khóa học, bạn sẽ nhận được giải pháp cho một Architect bằng cách coding mô phỏng Game of Life của John Conway sẽ chạy trên thiết bị di động của bạn.
Các hệ thống phần mềm phức tạp đang gặp phải ba vấn đề chính:
- ✓ Các Timeline bị kéo dài khi yêu cầu thay đổi.
- ✓ Nhiều nhà phát triển gặp khó khăn trong việc phối hợp nỗ lực của họ.
- ✓ Code dư thừa.
Điều này lại tạo ra các vấn đề về bảo trì và tính linh hoạt tổng thể khi thêm các tính năng mới. Nói chung điều này có nghĩa là các hệ thống được thiết kế kém, khó bảo trì và không thể thích ứng.
Một câu trả lời cho tất cả các vấn đề trên là có một thiết kế và kiến trúc phù hợp. Hãy nghĩ về một tòa nhà chọc trời đang được xây dựng. Luôn có một kế hoạch chi tiết cấp cao. Kế hoạch chi tiết này được sử dụng để hiển thị cho tất cả mọi người có liên quan (từ kiến trúc sư, chuỗi cung ứng, công nhân xây dựng đến lập kế hoạch máy móc, v.v…) những gì đang được thực hiện.
Mọi người đều hiểu và đi theo cùng một tầm nhìn.
Một kế hoạch chi tiết có một số yếu tố thường được hiểu và lặp lại trong nhiều dự án. Ví dụ, tất cả các tòa nhà đều cần hệ thống dây điện và hệ thống ống nước, chúng có thể cần thang máy, hệ thống làm mát, bãi đậu xe ngầm và tất nhiên là cả cầu thang. Chúng cũng thường được kết nối với lưới điện và nguồn cung cấp nước cũng như… đường sá.
Tất cả những yếu tố chung này đều tuân theo những tiêu chuẩn nhất định đã được cải tiến qua nhiều năm và qua nhiều dự án. Chúng được hiểu rõ và có thể được sử dụng gần giống như các công thức nấu ăn.
Trong Software Engineering, chúng tôi cũng có một tập hợp các yếu tố lặp lại trong nhiều dự án. Ví dụ: tất cả các ứng dụng phần mềm đều cần tạo đối tượng, chúng cần truyền đạt sự thay đổi trạng thái giữa các đối tượng đó, chúng cần có khả năng duyệt qua các collection của các đối tượng đó. Nói cách khác, nếu bạn muốn trở thành một nhà phát triển giỏi hơn thì bạn cần phải thành thạo những yếu tố đã được kiểm chứng qua thời gian. Trong thế giới Software Engineering, những yếu tố này được gọi là “Design Pattern”.
Khóa học này sẽ dạy học viên cách nhận biết khi nào nên sử dụng các design pattern cụ thể để xây dựng các hệ thống phức tạp theo cách Chia để Trị để giảm thiểu và trừu tượng hóa độ phức tạp.
Điều này sẽ giúp bạn thiết kế các dự án theo cách Architectural trước khi bất kỳ sự phát triển lớn nào xảy ra và có thể được sử dụng để rút ngắn thời gian phát triển và giảm chi phí bảo trì.
Các Design pattern rất quan trọng vì chúng là những công thức hoặc giải pháp đã được thử nghiệm theo thời gian cho các vấn đề công nghệ phần mềm phổ biến. Khi tạo các ứng dụng phần mềm, một số vấn đề nhất định sẽ xảy ra theo kiểu khá dễ đoán trước, vì vậy thay vì 'phát minh lại' bánh xe, chúng ta sẽ có nhiều loại bánh xe để lựa chọn, nếu bạn muốn.
Chúng tôi sẽ dạy bạn điều này theo một cách hơi khác so với những gì bạn có thể đã được dạy trước đây. Chúng tôi sẽ áp dụng một cách tiếp cận thực tế (tức là các ví dụ cụ thể) nhưng sức mạnh của Design Pattern đến từ 'concept' của chúng và chúng tôi sẽ dạy cho bạn khái niệm về các design pattern đó để bạn hoàn toàn có thể thay đổi và sửa đổi chúng theo nhu cầu của mình. Ngoài ra, chúng ta sẽ xem xét cách kết hợp tất cả các pattern đó thành một thứ lớn hơn: một architecture. Một Kiến trúc được thiết kế tốt là điều kỳ diệu mà tổng thể lớn hơn tổng các bộ phận của nó.
Đây là những gì chúng tôi sẽ cố gắng dạy cho bạn.
Mục lục:
- ✓ 01 - Giới thiệu.
- ✓ 02 - Điều gì tạo nên một công trình kiến trúc vĩ đại?
- ✓ 03 - Singleton Design Pattern.
- ✓ 04 - Factory Method Design Pattern.
- ✓ 05 - Builder Design Pattern.
- ✓ 06 - Adapter Design Pattern.
- ✓ 07 - Strategy Design Pattern.
- ✓ 08 - Observer Design Pattern.
- ✓ 09 - State Design Pattern.
- ✓ 10 - Bài tập khóa học - Game of Life.
- ✓ 11 - Tổng kết.
Khóa học này dành cho ai?
- ✓ Các Flutter & Dart developer muốn học Design, Architect và cuối cùng là phát triển code tốt hơn.
- ✓ Các Developer muốn hiểu sâu về điều gì tạo nên Software ✓ Architecture TUYỆT VỜI.