Một số design patterns trong lập trình iOS

(ZmikiSoft.com) – Một số design patterns trong lập trình iOS.
Cũng giống như lập trình các ngôn ngữ khác, trong lập trình iOS ( sử dụng Objective-C/Swift) cũng có những design patterns của nó, mặc dù có những cách gọi khác nhau, và cú pháp khác nhau nhưng bản chất chúng khá giống nhau.
Hôm nay chúng ta sẽ nhìn sơ khai một vài design pattern hay sử dụng trong lập trình iOS.

  • M-V-C
    • M-V-C là chữ viết tắt của ( Model-View-Controller), đã có 1 bài viết về các ngôn ngữ về mô hình này tại đây. Mô hình M-V-C ngày nay rất quen thuộc với các bạn lập trình viên, hầu hết các mô hình lập trình đều đã tập trung theo hướng này ( cho dù bạn sử dụng framework hỗ trợ sẵn hay tự thiết kế cho riêng mình ) thì mô hình này thực sự đáng để áp dụng. M-V-C cho chúng ta một cách tổ chức các thành phần của phần mềm, nó giúp việc cấu trúc source code trở nên rõ ràng, rành mạnh, gọn gàng, dễ bảo trì và phát triển về sau.
    • Thực ra trong lập trình iOS khi bạn tạo mới project thì đến thời điểm hiện tại của bài viết này, không có khái niệm về project MVC giống như việc tạo website trong Visual studio. Nhưng nó hướng cho chúng ta theo mô hình này, tất nhiên ta phải biết thì mới làm được.
    • M: model là các class chúng ta sẽ làm việc với dữ liệu, như việc truy vấn, xữ lý dữ liệu đối với SQlite từ ứng dụng iOS, hoặc truy vấn các dữ liệu từ server.
    • V: View là các class UI, XML, storyboard được chúng ta thiết kế để hiện thị dữ liệu lấy về theo yêu cầu của khách hàng.
    • C: Controller là các class ở đó chúng ta sẽ dùng code để điều hướng đến View và Model, Controller sẽ ra lệnh cho View và Model thực hiện nhiệm vụ khi có yêu cầu từ người dùng ( ví dụ: khi người dùng click vào nút mở danh bạ, Controller sẽ ra lệnh cho Model truy vấn danh sách Friends trong database, khi Model đã trả dữ liệu về thành công, Controller sẽ tiếp tục yêu cầu View hiện thị danh sách này lên để người dùng nhìn thấy.
    • Chúng ta thường hay hỏi nhau, thành phần nào là quan trọng nhất trong M-V-C, câu trả lời có thể là tất cả đều quan trọng như nhau, thiếu một trong 3 yếu tố sẽ không có một sản phẩm hoàn thiện hay nói khác đi không có sản phẩm nào làm ra mà thiếu một trong 3 yếu tố này, có chăng là do chúng ta tự thay đổi cách gọi tên.
  • Delegation
    • Delegation là một design pattern rất hay và mạnh mẽ, đây là pattern được sử dụng ở nhiều framework và ngôn ngữ khác nhưng trong một cách đặt tên khác, như Java sẽ là Adapter design pattern. Với việc sử dụng delegate bạn có thể triển khai giữa hai đối tượng trong một ứng dụng. Việc sử dụng design pattern này cho phép Child View Controller có thể giao tiếp với các lớp cha của nó giống như các tên của nó là delegate( giao quyền ). Bạn có thể cho một đối tượng thực hiện thay công việc khi được giao quyền từ một đối tượng khác.

  • Còn rất nhiều design pattern mà chúng ta sẽ gặp khi làm việc với iOS, mỗi design đều có những lợi ích nhất định mà thiếu nó, chúng ta khó có những phần mềm đặc sắc.

Khóa học lập trình Android
Khóa học lập trình Java
Khóa học lập trình iOS
Khóa học lập trình Objective-C/Swift