YellowCode.Books

Modern Android Architectures – MVC/MVP/MVVM – Phần 3: Kiến Trúc MVP

Như vậy với 2 phần về xây dựng Kiến trúc trong Android mà mình đã trình bày, bạn đã phần nào hiểu được sự khác nhau giữa các Kiến trúc sơ khởi, đó là Kiến trúc ban đầu theo kinh nghiệm cá nhân, và MVC. Đồng thời hiểu được tại sao chúng ta phải nghiên cứu và áp dụng các Kiến trúc này vào việc xây dựng project của cá nhân chúng ta hoặc của cả team rồi đúng không nào.
Do đó, bước sang phần 3 hôm nay, mình không nhắc lại mục đích của việc tìm hiểu và áp dụng các Kiến trúc này nữa, mà dành thời gian để so sánh sự khác biệt của hai Kiến trúc được nêu tên mà chúng ta biết được: MVC và MVP. Từ đó có một cái nhìn rộng hơn về các Kiến trúc này, giúp bạn tiếp cận nhanh hơn đến các cấu trúc mới mẻ hơn mà chúng ta sẽ đề cập đến ở các phần sau.

Java Bài 52- Generic Tập 2 – Phương Thức Generic & Lớp Generic

Hi vọng bài học hôm trước đã giúp cho các bạn có cái nhìn rõ ràng ban đầu về Generic, khiến bạn có hứng thú và tò mò hơn trong việc tìm hiểu xem Generic sẽ được sử dụng như thế nào trong code Java của các bạn. Mình sẽ giúp các bạn giải quyết sự tò mò đó qua bài học hôm nay. Bài học sẽ nói rõ hơn cách dùng Generic, vận dụng nó trong tổ chức xây dựng ở phương thức và cả cho lớp nữa. Và điều quan trọng hơn, có thể giúp các bạn mới làm quen với Generic đỡ “hoa mắt” hơn khi nhìn vào một mớ ký hiệu <> trong code.

Java Bài 51 – Generic Tập 1 – Làm Quen Với Generic

Sau chuỗi bài dài đăng đẳng về lập trình song song, đa nhiệm thông qua Thread và những kiến thức mở rộng liên quan đến nó. Hôm nay chúng ta sẽ đi đến một kiến thức nhẹ ký hơn, nhưng không kém phần quan trọng trong việc lập trình với ngôn ngữ Java. Kiến thức về Generic.
Tuy bài học được chia nhỏ làm nhiều phần, nhưng lượng kiến thức mà chúng mang lại cũng không quá nhiều. Cái chính là những giải nghĩa để giúp các bạn hiểu rõ về Generic này. Vì theo kinh nghiệm của mình đã từng lân la tìm hiểu ở khá nhiều tài liệu khác nhau, thì Generic ở các tài liệu này viết rất khó hiểu, đặc biệt là để giải nghĩa cho câu hỏi tại sao phải dùng Generic, thì ít nơi nào nói rõ. Thôi thì mời các bạn cùng đọc bài viết của mình để cùng so sánh nhé.

Thông Thạo Jetpack – Phần 6 – Navigation (Tập Cuối)

Bài viết hôm nay, tập cuối cùng của Navigation, chúng ta sẽ tìm hiểu khả năng hỗ trợ cao hơn nữa của thành phần này, đó là việc chuyển đổi một cách có điều kiện giữa các destination. Đồng thời xem xét việc kết hợp Navigation với các thành phần khác của Android, như ViewModel, LiveData, và Toolbar xem như thế nào nhé.

Java Bài 50 – Thread Pool Tập 3 – ThreadPoolExecutor

Như đã được giới thiệu ở bài đầu tiên, ThreadPoolExecutor chính là nhân vật chính của Thread Pool. Việc mà bài hôm trước Helper Class Executors gọi ra các câu lệnh, chẳng hạn như Executors.newFixedThreadPool(5), thực chất cũng là vì muốn giúp chúng ta đơn giản hơn trong việc khai báo một ThreadPoolExecutor mà thôi. Bạn có thể dừng ở việc hiểu về Executors ở bài trước, điều đó đủ để bạn có thể xây dựng các Thread Pool tiện dụng được sử dụng ở hầu hết các nhu cầu của bạn. Nhưng với việc tìm hiểu thêm về ThreadPoolExecutor, bạn sẽ biết được bản chất thực sự của một Thread Pool được khai báo trong Java như thế nào.

Thông Thạo Jetpack – Phần 5 – Navigation (Tập 3)

Tập tiếp theo này chúng ta sẽ dùng thành phần quan trọng còn lại của Navigation, đó chính là NavController để tạo sự di chuyển giữa các destination bên trong NavHost mà chúng ta đã xây dựng. Ngoài ra chúng ta còn xem xét việc xây dựng hiệu ứng chuyển đổi các màn hình sao cho ứng dụng sinh động và mượt mà hơn. Ở cuối cùng của bài viết là các cách mà chúng ta có thể truyền dữ liệu qua lại giữa các destination.

Lạm Bàn Về Tham Chiếu/Tham Trị Trong Java

Bài viết hôm nay chúng ta sẽ cùng tìm hiểu và làm rõ ra thế nào là truyền tham số kiểu Tham chiếu, hay Tham trị, vào phương thức trong Java. Có thực sự như lời đồn rằng Java chỉ hỗ trợ việc truyền tham số kiểu Tham trị hay không, như Bài 18 mình có nhắc đến.
Thực ra cũng bởi có nhiều bạn liên hệ mong muốn mình làm rõ vấn đề này của Java, nên nhân đây mình viết ra luôn. Vâng, mình cũng nhận thấy rằng kiến thức này khá là quan trọng, nó không những nói rõ hơn về việc truyền tham số kiểu Tham chiếu và Tham trị là gì, mà nó còn giúp chúng ta mở rộng hơn trong việc nhìn nhận một biến được tổ chức và quản lý trong Java như thế nào. Và mình cũng muốn nói thêm một ý rằng, cái chủ đề về Tham chiếu/Tham trị này là một chủ đề thắc mắc của không riêng bạn đâu, nó như trở thành một cuộc tranh luận sôi nổi trên các diễn đàn, một lát sau vào bài viết bạn sẽ thấy tại sao nó lại gây nên sự tranh luận này, nếu bạn chưa tin lắm, hãy thử Google với từ khóa “Is Java pass-by-reference or pass-by-value” sẽ thấy.

Tổng Hợp Các Phương Thức Của Thread

Bài viết này ra đời trong bối cảnh có rất nhiều bạn quan tâm đến các bài viết về Thread và đồng bộ hóa của mình, bắt đầu từ Bài 41.
Nếu các bạn có theo dõi các bài viết này, sẽ thấy mình đã bỏ hẳn một bài viết giúp tổng hợp các phương thức hữu ích của Thread. Thật ra nếu bỏ qua việc tìm hiểu các phương thức này, cũng không gây khó khăn cho việc chúng ta đi nhanh qua các bài học sau. Nhưng như vậy thì thật là tiếc vì bản thân Thread có nhiều phương thức khá hay, nếu lúc nào đó bỗng nhiên bạn cần đến, thì việc tìm hiểu thêm về chúng cũng mất kha khá thời gian.

Thông Thạo Jetpack – Phần 4 – Navigation (Tập 2)

Ở bài hôm trước chúng ta đã cùng nhau tìm hiểu xem Navigation là gì và được cấu thành từ các thành phần nào. Chúng ta còn làm quen với ứng dụng mẫu được xây dựng lên từ thư viện này nữa đấy.
Phần tiếp theo hôm nay chúng ta sẽ cùng nhau xây dựng ứng dụng ở các bước ban đầu, song song với việc làm rõ nghĩa dần các khái niệm đã được đưa ra từ phần trước, giúp bạn hiểu rõ hơn về thư viện Navigation này.

Thông Thạo Jetpack – Phần 3 – Navigation

Lại một chủ đề nữa của Jetpack được chúng ta mang ra mổ xẻ, để hiểu và sử dụng thành thạo công năng của nó. Và cái tên hôm nay được nhắc đến chính là Navigation. Thực tế thì khối lượng kiến thức về Navigation này khá là nhiều, và lợi ích mà thư viện này mang lại nó cũng nhiều như độ lớn của kiến thức này vậy. Thư viện này giúp chúng ta xây dựng các màn hình của ứng dụng, cụ thể là việc bố trí các Fragment, sắp xếp chúng, tạo cho chúng sự tương tác, các kịch bản tới/lui giữa chúng, một cách dễ dàng và trực quan hơn với cách cũ trước đây. Và mình cũng cá một điều rằng rất nhiều bạn cũng đã nhanh chóng làm quen và nắm được cách thức vận dụng Navigation này rồi. Bài viết hôm nay của mình sẽ cố gắng mang đến cái nhìn ban đầu về loại thư viện này, sẽ có các phần sau nữa sẽ là các phần mà chúng ta cùng nhau xây dựng một ứng dụng đơn giản, rồi nâng cấp với việc sử dụng sâu hơn các công cụ hỗ trợ khác của thư viện.