Design pattern iOS

50 %
50 %
Information about Design pattern iOS

Published on July 13, 2016

Author: ssuserab3f54

Source: slideshare.net

1. Design pattern trong iOS Người thực hiện: Nguyễn Đức Hà

2. Khái niệm design pattern Solution Problem Context

3. Lợi ích của design pattern Tăng khả năng trao đổi, giao tiếp trong công việc Tiết kiệm thời gian nghiên cứu vấn đề Có thể được áp dụng cho bất kì ngôn ngữ nào Tăng khả năng cài đặt và bảo trì

4. Phân loại design pattern Creational • Singleton • Abstract Factory • Builder Structural • Facade • Decorator • Adapter Behavioral • Observer • Command • Memento

5. Singleton • Một class chỉ có một instance duy nhất • NSFileManager, UIApplication, NSURLSession, NSURLDefault,… • Trường hợp sử dụng: khi cần truy cập các tài nguyên toàn cục như setting, session. • Lưu ý: instance của singleton không thể được copy, retain, release.

6. Abstract Factory • Cung cấp 1 interface chung cho các class tương tự nhau • Che giấu sự phức tạp trong việc khởi tạo đối tượng • NSNumber, NSString, NSArray, NSDictionary,… • Sử dụng khi có một nhóm các class liên quan hoặc phụ thuộc vào nhau nhằm làm giảm độ phức tạp.

7. Facade • Cung cấp interface high level, đóng gói các API low level Tăng tính dễ sử dụng Giảm độ phức tạp của hệ thống con • Ví dụ: UIImage • Sử dụng khi hệ thống con có các API phức tạp không cần thiết để người dùng sử dụng => tạo API level cao hơn.

8. Decorator • Thêm các hành vi, chức năng vào đối tượng mà không làm thay đổi code của đối tượng. • Hai cách sử dụng phổ biến: Category, Delegation

9. Category • Thêm các hàm vào một object mà không phải tạo class con kế thừa. • Chú ý: – Không được phép thêm property vào category. – Không viết đè các phương thức của class vì có thể tạo ra ảnh hưởng không mong muốn.

10. Delegation

11. Delegation • Ví dụ: UITableView, UIScrollView • DataSource: tương tự delegate • Điểm khác nhau: Delegate DataSource Điều khiển giao diện người dùng Điều khiển dữ liệu

12. Command • Đóng gói một request thành đối tượng Linh hoạt hơn Có thể truyền giữa các đối tượng, lưu trữ, thay đổi. • 2 loại: Target – Action, Invocation

13. Target - Action • Truyền thông điệp từ UIControl object (trong UI) sang object khác. • Target: thường là custom class của UIView, UIViewController. • Action: là thông điệp được truyền đến target

14. Invocation NSInvocation Target ArgumentSelector

15. Invocation • Sử dụng trong việc: – Quản lý hoàn tác – Chuyển tiếp thông điệp – Xử lý timer

16. Observer • Quan hệ một – nhiều giữa các đối tượng. • Đối tượng có sự thay đổi thông báo cho các đối tượng khác => cập nhật • 2 cách cài đặt phổ biến: Key Value Observer và NSNotification

17. NSNotification • Mô hình publisher – subcriber • Publisher: gửi thông điệp • Subcriber: các đối tượng nhận thông điệp • Quan hệ lỏng lẻo: publisher không cần biết thông tin gì về subcriber • Sử dụng một singleton để quản lý việc gửi thông điệp và nhận thông điệp: NSNotificationCenter

18. KVO • Theo dõi sự thay đổi của một thuộc tính. • Không sử dụng đối tượng trung gian để quản lý, thông điệp được chuyển trực tiếp đến đối tượng nhận. • Cách sử dụng: – addObserver:forKeyPath:options:context: – Observer implement hàm observeValueForKeyPath:ofObject:change:context :

19. References • https://developer.apple.com/legacy/library/documentation /Cocoa/Conceptual/CocoaFundamentals/CocoaDesignPatte rns/CocoaDesignPatterns.html#//apple_ref/doc/uid/TP400 02974-CH6-SW6 • https://www.raywenderlich.com/46988/ios-design- patterns • https://www.raywenderlich.com/86477/introducing-ios- design-patterns-in-swift-part-1 • https://sourcemaking.com/design_patterns • http://www.tutorialspoint.com/design_pattern/ • http://www.appcoda.com/understanding-key-value- observing-coding/

20. Cảm ơn mọi người đã lắng nghe

Add a comment

Related pages

Mobile Design Patterns - Pttrns

Pttrns is the finest collection of design patterns, resources and inspiration.
Read more

Start Developing iOS Apps Today: Using Design Patterns

Hier sollte eine Beschreibung angezeigt werden, diese Seite lässt dies jedoch nicht zu.
Read more

iOS Patterns | Mobile User Interface and Designs for ...

iOS Patterns is a gallery with the best iOS app designs and User Interfaces ... iOS Mobile User Interface Patterns and Designs for iPhone and iPad. Pin Drop.
Read more

iOS Design Patterns - Ray Wenderlich

iOS Design Patterns – you’ve probably heard the term, but do you know what it means? While most developers probably agree that design patterns are very ...
Read more

Inspired UI - Mobile Apps Design Patterns [iPhone]

inspired-ui. Menu. Mobile Apps Design Patterns [iPhone] Hand-picked news: Designing the new Foursquare. Follow @InspiredUI. Android iPad ...
Read more

Use design patterns when developing iOS apps - TechRepublic

Read about the advantages to using a design pattern to document an iOS app's characteristics. Also, find out which design patterns are considered ...
Read more

iOS Design Patterns - Colorado

Design Patterns A design pattern is a common solution to a software problem They are helpful for speeding up problem solving, ensuring
Read more

Introduction to iOS Design Patterns - Code Envato Tuts+

Most established mobile platforms have a set of design patterns, written or unwritten guidelines of how things should look, feel, and function.
Read more

iOS Design Patterns - Product Design Services

A design pattern is a recurring solution that solves a specific design problem; They are helpful for speeding up problem solving, ensuring that a developer ...
Read more

Mobile Patterns

A library of iOS and Android screenshots for designers and developers to reference. Mobile Patterns. platform: all. iPHONE ANDROID ALL. RECENTLY ADDED;
Read more