How are you using dependency injection ?

Support my work by reading this article from my personal blog here:

Today we’re going to learn about dependency injection (DI) through a case study I recently faced at work and I think you guys will find familiar with it.

In case you aren’t familiar with dependency injection concept. You can read another post of mine here:

Case study

I have an application that allows logged in user to scan an identity card using NFC technology and then navigate to the detail screen to show the card’s information. Behind the sense after user scan their…


Photo by cottonbro from Pexels

Visit my website to read the original post:

http://learnwithtung.co/2021/01/using-diffabledatasource-combine/

DiffableDataSource is an API was introduced in iOS 13. It helps us more efficiently and easily setup datasource for a table view or collection view. Today, we’re gonna increase its powerful by using it with the Combine framework. OK, let’s see how it work together.

Before start feel free to download and then open the starter project:

Networking with Combine

After you open the project. Let’s move to APIService.swift file and add this code bellow the line //Write your code below :

// 1
func fetchUsers() -> AnyPublisher<[User], Error>{…

Introduction to the new API.

I had a lot of fun when explore the new API so I decided to make a post to share with you guys what I’ve learned. Let’s get started.

Photo by Yogendra Singh on Unsplash

Updated:

I’ve created a instagram-like layout using Compositional Layout. You can check it out here:

https://github.com/LearnWithTung/InstagramGridLayout

A boring introduction (but it’s worth to read)

Compositional Layout has been introduced in WWDC 2019 event which contains a lot of power that helps developer build more complex collection layout but much less code.

On the one hand, if you just need a simple layout like a collection of identical items UICollectionViewFlowLayout is the best candidate for the job, it’s simple, it’s…


Bên cạnh UICollectionView, UITableView có lẽ là loại View được các iOS Developers sử dụng nhiều nhất. UITableView giúp chúng ta dễ dàng xây dựng một giao diện dạng list, theo chiều dọc.

Ngoài những Table Views đơn giản chỉ có duy nhất một cell type, trên thực tế đi làm bạn sẽ gặp hầu hết là các Table Views phức tạp hiển thị nhiều loại thông tin khác nhau và đòi hỏi phải sử dụng nhiều cell types còn được gọi là dynamic cells table view.

Thành thật mà nói nếu làm theo cách “thông thường” (mình sẽ đề…


One of the best books I’ve read.

Mình đã đọc cuốn sách này hai lần cách đây vài tháng, nảy ra ý tưởng viết review khi đang kẹt xe trên đường đi làm về, và khi đang viết bài này mình đọc lại nó một lần nữa. Qua mỗi lần đọc, mình lại hiểu rõ hơn những kiến thức mà tác giả trình bày và cũng ôn lại những thứ đôi khi quên mất.

Practical Object-Oriented Design In Ruby viết bởi tác giả Sandi Metz đề cập tới tất cả những khái niệm cơ bản trong OO. Như cái tên đã bộc lộ, code mẫu trong sách…


Map, flatMap, Reduce and Filter.

photo taken by me ❤

Hôm trước mình được đề nghị tìm một số bài viết về functional programming cho các anh em dev đọc vì khách hàng đang muốn áp dụng nó vào trong dự án của họ tuy nhiên nhiều anh em chưa biết hoặc hiểu nhiều về cách sử dụng. Uhm… Mình nghĩ tại sao không viết một bài, dù sao mình cũng đã sử dụng functional programming khá lâu rồi và cảm thấy chúng rất hay và hữu dụng.

Trong bài viết này mình sẽ đề cập và đưa ra ví dụ bốn hàm mình hay sử dụng nhất: Filter, Map…


Photo by Derwin Edwards from Pexels

Dạo gần đây mình hay nghe lại các bài hát us-uk ngày xưa, nghe đến 21 Guns — Green day thì tự nhiên muốn viết về Strategy pattern, tất nhiên nội dung bài hát thì không gì đến liên quan Strategy rồi, chỉ là cái tên làm mình liên tưởng tới thôi 😆. Dù sao thì đây cũng là một pattern rất hay, trong bài viết này hãy cùng mình tìm hiểu về nó nhé.

Definition

Strategy design pattern thuộc nhóm behavioral. Strategy design pattern định nghĩa một nhóm các thuật toán, đóng gói từng thuật toán, và chúng có thể…


Phần hai: Dependency không ăn được. Vậy dependency injection thì sao ?

source: của một bạn trên fan page của DSK

Updated: Video cho bài viết này. Các bạn có thể xem ở đây, tuy nhiên đọc bài viết sẽ chi tiết hơn nhé:

Ở phần một chúng ta đã cùng tìm hiểu về Dependency. Nếu các bạn chưa đọc thì mình sẽ để link ở đây, hãy đọc nó trước khi tiếp tục bài viết này nhé.

Trong phần này chúng ta sẽ tìm hiểu về dependency injection. Một nhóm các nguyên tắc cơ bản và quan trọng nhất để viết được một phần mềm tốt.

Một phần mềm tốt cho phép các developers làm việc độc lập, dễ…


Phần 1: Dependency là gì ? có ăn được không ?

source: photo by pixabay on pexels.com

Updated: Video cho bài viết này. Các bạn có thể xem tại đây:

Trước khi đi vào tìm hiểu về dependency injection, ở trong bài viết này mình muốn cùng các bạn tìm hiểu về khái niệm dependency trước. Một khi đã hiểu rõ về dependency thì việc hiểu về dependency injection sẽ trở nên vô cùng dễ dàng thôi.

Aware of communication

Không giống như anh chàng John Wick trong bộ phim cùng tên một mình san bằng tất cả, đạn bắn bao nhiêu cũng không chết nổi. Trong một ứng dụng (hay một phần mềm nói chung) các modules, các…


Trong bài viết này mình sẽ cùng các bạn tìm hiểu về Composite design pattern và một case study mình từng gặp trong thực tế nha.

source: pexels.com

Là một design pattern thuộc “họ” structural, cũng như những patterns khác cùng “họ” Composite pattern giúp cho lập trình viên mở rộng tính năng của phần mềm mà không cần đụng đến một dòng code nào ở phía client, hay nói cách khác, nó giúp chúng ta thoả mãn open-closed principle trong SOLID.

Definition

Composite design pattern là một structural pattern, nó cho phép chúng ta xây dựng một cấu trúc hình cây trong…

Tung Vu Duc 🇻🇳

Passionate about writing good software. Contact me: 📮tungvuduc2805@gmail.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store