So sánh abstract factory pattern và factory pattern năm 2024
Trước tiên, chúng ta hãy cùng cafedev giới thiệu mọi thứ về Abstract Factory Pattern và phần code ví dụ chi tiết nhằm giúp ace dễ hiểu khi áp dụng trên các ngôn ngữ khác nhau. Ace có thể tham khảo thêm các bài khác tại series Design Pattern tại đây. Nội dung chính Abstract Factory Factory Pattern là một trong những Creational pattern. Mô hình abstract factory gần giống với Factory Pattern được coi là một Abstract Factory patterns. Các Abstract Factory patterns hoạt động xung quanh một siêu nhà máy tạo ra các nhà máy khác. Triển khai Abstract factory pattern cung cấp cho chúng ta một khuôn khổ cho phép chúng ta tạo các đối tượng tuân theo một pattern chung. Vì vậy, trong thời gian chạy, abstract factory được kết hợp với bất kỳ factory cụ thể mong muốn nào có thể tạo ra các đối tượng thuộc loại mong muốn. Hãy xem biểu diễn GOF của pattern Abstract Factory Design Pattern: Ví dụ về biểu đồ lớp UML cho Abstract Factory Design Pattern.
Abstract Factory cung cấp các giao diện để tạo họ các đối tượng liên quan hoặc phụ thuộc mà không chỉ định các lớp cụ thể của chúng. Phần mềm máy khách(Client) tạo ra một triển khai cụ thể của abstract factory và sau đó sử dụng các giao diện chung để tạo ra các đối tượng cụ thể là một phần của họ đối tượng. Khách hàng(Client) không biết hoặc không quan tâm đến vật thể cụ thể nào mà họ nhận được từ mỗi nhà máy cụ thể này vì họ chỉ sử dụng các giao diện chung của sản phẩm của họ. Vì vậy, với ý tưởng về mẫu Abstract Factory này, bây giờ chúng ta sẽ cố gắng tạo ra một thiết kế sẽ tạo điều kiện thuận lợi cho việc tạo ra các đối tượng liên quan. 2. Thực hiệnHãy lấy một ví dụ, Giả sử chúng ta muốn xây dựng một nhà máy sản xuất ô tô toàn cầu. Nếu đó là mẫu thiết kế nhà máy , thì nó phù hợp với một địa điểm duy nhất. Nhưng đối với pattern này, chúng ta cần nhiều vị trí và một số thay đổi thiết kế quan trọng. Chúng ta cần các nhà máy sản xuất ô tô ở từng địa điểm như IndiaCarFactory, USACarFactory và DefaultCarFactory. Bây giờ, ứng dụng của chúng ta phải đủ thông minh để xác định vị trí nơi ứng dụng đang được sử dụng, vì vậy chúng ta sẽ có thể sử dụng nhà máy sản xuất ô tô phù hợp mà không cần biết việc triển khai nhà máy ô tô nào sẽ được sử dụng trong nội bộ. Điều này cũng giúp chúng ta tránh bị ai đó gọi nhầm nhà máy cho một vị trí cụ thể. Ở đây chúng ta cần một lớp trừu tượng khác sẽ xác định vị trí và sử dụng nội bộ việc triển khai chính xác nhà máy sản xuất ô tô mà không đưa ra một gợi ý nào cho người dùng. Đây chính xác là vấn đề mà mô hình abstract factory được sử dụng để giải quyết.
Đầu ra:
3. Sự khác biệt
4. Ưu điểmMẫu này đặc biệt hữu ích khi khách hàng không biết chính xác loại cần tạo.
5. Nhược điểm
LƯU Ý: Phần nào ví dụ trên cũng dựa trên Cách hoạt động của các Cabs như uber và ola trên quy mô lớn. Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây. Tài liệu từ cafedev:
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa: |