Phương pháp Nhà máy trong Swift

May 08 2022
Factory Method là một mẫu thiết kế sáng tạo cung cấp một giao diện để tạo các đối tượng trong lớp cha, nhưng cho phép các lớp con thay đổi loại đối tượng sẽ được tạo. Khi nào chúng tôi sử dụng phương pháp nhà máy? Hãy tưởng tượng bạn có một ứng dụng quản lý hậu cần.

Factory Method là một mẫu thiết kế sáng tạo cung cấp một giao diện để tạo các đối tượng trong lớp cha, nhưng cho phép các lớp con thay đổi loại đối tượng sẽ được tạo.

Khi nào chúng tôi sử dụng phương pháp nhà máy?

Hãy tưởng tượng bạn có một ứng dụng quản lý hậu cần. Phiên bản đầu tiên của ứng dụng của bạn, chúng tôi có thể xử lý việc vận chuyển bằng xe tải, vì vậy phần lớn mã của bạn nằm trong lớp Xe tải .

Một năm sau, ứng dụng của bạn trở nên khá phổ biến mỗi ngày bạn nhận được nhiều yêu cầu từ công ty vận tải đường biển về việc kết hợp dịch vụ hậu cần đường biển vào ứng dụng, đó là một tin tuyệt vời phải không? Nhưng làm thế nào về mã? Công việc của bạn là gì?

Bạn nên cấu trúc lại lớp Xe tải để thêm Tàu vào ứng dụng, bạn nên sửa đổi tất cả các lớp và mất nhiều thời gian.

Trong thời gian này, tôi có một tin vui cho bạn nếu bạn sử dụng phương thức factory thì bạn không cần phải sửa đổi tất cả các lớp mà bạn đã viết trước đó.

Phương pháp bao thanh toán đề nghị bạn sử dụng giao thức cho vấn đề này. Nhưng bằng cách nào?

Tất cả các sản phẩm phải tuân theo cùng một Giao thức.

Ví dụ, cả hai lớp TruckShip nên triển khai giao thức Giao thông vận tải , giao thức này khai báo một phương thức được gọi là giao hàng. Mỗi hạng thực hiện phương thức này khác nhau: xe tải chuyển hàng bằng đường bộ, tàu chuyển hàng bằng đường biển.

Sử dụng Phương pháp ban đầu khi bạn không biết trước chính xác các loại và sự phụ thuộc của các đối tượng mà mã của bạn sẽ hoạt động.

Mã Swift

Ưu và nhược điểm

➕ Nguyên tắc Trách nhiệm Đơn lẻ . Bạn có thể di chuyển mã tạo sản phẩm vào một nơi trong chương trình, giúp mã hỗ trợ dễ dàng hơn.

Nguyên tắc Mở / Đóng . Bạn có thể giới thiệu các loại sản phẩm mới vào chương trình mà không cần vi phạm mã khách hàng hiện có.

➕ Bạn tránh được sự kết hợp chặt chẽ giữa người tạo và các sản phẩm bê tông.

➖ Mã có thể trở nên phức tạp hơn vì bạn cần giới thiệu nhiều lớp con mới để triển khai mẫu. Trường hợp tốt nhất là khi bạn giới thiệu mẫu vào một hệ thống phân cấp hiện có của các lớp người tạo

Mối quan hệ với các mẫu khác

  • Nhiều Nhà phát triển bắt đầu bằng Phương pháp Nhà máy (ít phức tạp hơn và có thể tùy chỉnh nhiều hơn thông qua các lớp con) và phát triển theo Nhà máy Trừu tượng, Nguyên mẫu hoặc Trình xây dựng (linh hoạt hơn nhưng phức tạp hơn).
  • Các lớp Abstract Factory thường dựa trên một tập hợp các Phương thức Nhà máy, nhưng bạn cũng có thể sử dụng Nguyên mẫu để soạn các phương thức trên các lớp này.

© Copyright 2021 - 2022 | vngogo.com | All Rights Reserved