Abstract Factory Pattern là gì? Những thành phần của Abstract Factory Pattern Update 2022

image 1 340

Thủ Thuật về Abstract Factory Pattern là gì? Những thành phần của Abstract Factory Pattern Chi Tiết

READ ALSO

Thumbnail là gì? Hướng dẫn thiết kế Thumbnail thu hút

Dependency Injection là gì? Ưu điểm và nhược điểm của Dependency Injection

Bạn có một chương trình “sản xuất” hàng loạt thành phầm tương quan đến nhau. Sau đó, bạn có nhu yếu muốn thêm một vài đoạn mã “sản xuất” thêm những thành phầm khác trong cùng chương trình mà không thay đổi những thành phầm trước. Liệu có phương án nào khả thi để thực thi hay là không? Câu vấn đáp là “Có!”. Giải pháp bạn đang tìm kiếm đó đó là Abstract Factory Pattern. Vậy, Abstract Factory Pattern là gì? Những thành phần của Abstract Factory Pattern ra sao?

NỘI DUNGTìm hiểu về Abstract Factory PatternAbstract Factory Pattern là gì?READ ALSOLợi ích của Abstract Factory PatternNhững thành phần của Abstract Factory PatternVấn đềGiải phápCấu trúcƯu điểm và nhược điểm của Abstract Factory PatternNhững thắc mắc thường gặp về Abstract Factory PatternNên sử dụng Factory Method hay Abstract Factory?Khi nào nên sử dụng Factory Method?Ưu điểm của Factory Method ra sao?Khi nào nên sử dụng Factory Method?Tìm hiểu về Abstract Factory Pattern

Abstract Factory Pattern là gì?

Abstract Factory Pattern là một trong những Creational Design Pattern – phương pháp tốt nhất để tạo ra những Object. Abstract Factory Pattern hoạt động và sinh hoạt giải trí như một Super-Factory để tạo ra những Factory khác. Ta cũng trọn vẹn có thể nói rằng: Abstract Factory Pattern là Factory của những Factory.

Trong Abstract Factory Pattern sẽ có được một Interface phụ trách trong việc tạo ra 1 Factory, Factory sẽ sản xuất ra những Object tương quan mà không cần chỉ định rõ ràng những class của chúng.

Nghe lý giải Theo phong cách này, bạn thấy Abstract Factory Pattern trừu tượng lắm đúng không ạ?

Giải thích một cách dễ hiểu hơn:

Abstract Factory Pattern tương tự một nhà máy sản xuất lớn sản xuất xe hơi. Một chiếc xe hơi sẽ có được thật nhiều bộ phận, từ bánh xe, tay lái, cửa xe, động cơ, những mặt kính,…

Các Factory trong Abstract Factory Pattern sẽ phụ trách sản xuất ra những bộ phận này.

Trong thực tiễn sẽ còn tương quan đến những việc khác ví như vận hành, lắp ráp, tổ chức triển khai sản xuất,… rất phức tạo.

Trong nội dung bài viết, Group sẽ không còn thay đổi một số trong những từ tiếng Anh như sau để đảm bảo sự giống hệt:

Class: lớpSubclass: lớp conInterface: giao diệnAbstract: trừu tượngFactory: nhà máyPattern: mẫu/ khuônMethod: phương pháp, cách thứcObject: đối tượng người dùng/ thành phầm

Lợi ích của Abstract Factory Pattern

Abstract Factory Pattern là Factory của những Factory. Vì thế, chương trình của bạn cũng trọn vẹn có thể thuận tiện và đơn thuần và giản dị mở rộng để chứa thêm những Factory khác, những subclass khác mà không làm tác động đến những Factory, class đang sẵn có.Bạn trọn vẹn có thể thuận tiện và đơn thuần và giản dị xây dựng một encapsulate – khối mạng lưới hệ thống đóng gói, sử dụng được nhiều Factory rất khác nhau, từ đó bạn cũng trọn vẹn có thể tạo ra nhiều thành phầm rất khác nhau.Khi sử dụng Factory Method lớn với quá nhiều xử lý như: if-else hay switch-case. Bạn trọn vẹn có thể sử dụng Abstract Factory Pattern để thuận tiện và đơn thuần và giản dị quản trị và vận hành chương trình hơn, nhờ vào việc tự phân loại và gom những subclass vào cùng 1 Factory của Abstract Factory Pattern.

Ngoài ra, Abstract Factory Pattern còn phục vụ:

Nhiều hướng tiếp cận với Interface thay vì implementẨn đi sự phức tạp trong quy trình khởi tạo những Object riêng với những người dùngHỗ trợ khởi tạo Object một cách độc lập với khối mạng lưới hệ thống thống sử dụng Object..

Những thành phần của Abstract Factory Pattern

Để trọn vẹn có thể thuận tiện và đơn thuần và giản dị hiểu hơn về Abstract Factory Pattern, Group sẽ đưa ra ví dụ về 1 shop sản xuất bàn và ghế gỗ nhé! Chúng ta sẽ đặt yếu tố tiếp theo đó đưa ra giải pháp để xử lý và xử lý. Phần ví dụ này được dẫn lại theo Guru.

Vấn đề

Chúng ta đang sở hữu một shop đồ gỗ thiết kế bên trong bên trong và toàn bộ chúng ta đang sẵn có những thành phầm như sau: Chair + Sofa + CoffeeTable.

Với những thành phầm hiện tại đang bán này,toàn bộ chúng ta có thêm 3 phong thái của thành phầm là: Modern, Victorian, ArtDeco.

Vấn đề toàn bộ chúng ta đang gặp phải là: làm cách nào để tạo ra những thành phầm cùng 1 phong phương pháp để tạo sự giống hệt trong một căn phòng. Và hiện tại, người tiêu dùng của toàn bộ chúng ta đang không vui vì thành phầm họ nhận được là Chair phong thái Victorian quý tộc nhưng ghế Sofa lại là phong thái Modern tân tiến. Việc “râu ông này cắm cằm bà kia” sẽ mang lại sự rất khó chịu khi nhìn vào căn phòng.

Giải pháp

Vậy, giải pháp toàn bộ chúng ta cần đó đó đó là Abstract Factory Pattern. Việc toàn bộ chúng ta cần thực thi đó đó đó là:

Khai báo những Interface cho từng phong thái sản phẩmDựa vào đó ta tiếp tục khai báo Interface thành phầm cho từng phong phương pháp để tạo ra sự giống hệt như sau:

Như bạn cũng trọn vẹn có thể thấy, giờ đây những thành phầm được phân loại theo từng nhóm phong thái riêng không liên quan gì đến nhau. Mỗi phong thái, toàn bộ chúng ta sẽ tạo ra một AbstractFactory, trong mọi Factory, toàn bộ chúng ta lại sở hữu những thành phầm giống nhau ví như:

ModernFurnitureFactory sẽ tạo ra những đối tượng người dùng(Object) thành phầm tương ứng như: ModernChair, ModernSofa và ModernCoffeeTable.

Điều này sẽ hỗ trợ người tiêu dùng của bạn mua được hàng loạt thành phầm tương tự nhau và không vi phạm hay bị lệch sang những thành phầm bên trong những Factory khác.

Cấu trúc

Chúng ta sẽ đưa ra một quy mô to nhiều hơn trong việc sản xuất và ta sẽ có được một sơ đồ như sau:

Trong số đó, toàn bộ chúng ta sẽ có được:

Abstract Products: khai bao những Interface tập hợp những thành phầm có cùng phong thái.Concrete Products: triển khai những thành phầm theo từng nhóm phong thái nhất định. Ví dụ: mỗi Chair/Sofa sẽ phải đi theo 1 phong thái là Victorian/Modern.Abstract Factory Interface: đấy là Interface tập hợp những method để tạo ra những thành phầm Abstract.Concrete Factories: thực thi những method của Abstract Factory. Mỗi Factory sẽ chỉ tạo ra một biến thể thành phầm tương ứng.Cuối cùng, toàn bộ chúng ta có Client, họ sẽ trọn vẹn có thể thao tác với bất kể một Abstract Factory hay một thành phầm Abstract nào, miễn là họ thao tác trải qua những Interface.

Ưu điểm và nhược điểm của Abstract Factory Pattern

Sau khi chúng ta đã nắm được những thông tin về thành phần của Abstract Factory Pattern, toàn bộ chúng ta sẽ tiếp tục tìm hiểu những ưu điểm và nhược điểm của Abstract Factory Pattern nhé!

Ưu điểm của Abstract Factory Pattern

Ưu điểm hữu ích nhất của Abstract Factory Pattern đó đó là trọn vẹn có thể giúp Client trọn vẹn có thể biết đúng chuẩn loại nào cần tạo ra, Factory nào sẽ tạo ra thành phầm nào.

Ngay trong ví dụ rõ ràng phía trên, toàn bộ chúng ta trọn vẹn có thể thấy mỗi Factory sẽ có được đúng chuẩn class Object được tạo ra theo phong thái nào. Điều này sẽ làm cho Client thuận tiện và đơn thuần và giản dị xác nhận và thao tác qua những Abstract Interface mà không biến thành lẫn lộn.Dễ dàng quản trị và vận hành Concrete Products hơn. Nếu như bạn có nhu yếu muốn thay đổi toàn bộ phong thái Object bên trong, bạn chỉ việc thay đổi cấu trúc của Concrete. Ví dụ từ Modern, bạn cũng trọn vẹn có thể thay đổi sang phong thái ArtDeco mà không cần thay đổi từng thành phầm bên trong.

Nhược điểm của Abstract Factory Pattern

Nhược điểm lớn số 1 và buộc phải xẩy ra nếu khách hàng có nhu yếu muốn thêm một thành phầm mới đó đó đó là yếu tố phức tạp trong cấu trúc Factory.

Muốn thêm một thành phầm mới, những bạn sẽ phải thay đổi những class bên trong Abstract Factory và toàn bộ những subclass của thành phầm đó nếu có.

Đến đây, Group đã lý giải về Abstract Factory Pattern cùng ví dụ Theo phong cách dễ hiểu nhất. Có vẻ việc triển khai Abstract Factory Pattern thực sự phức tạp. Tuy nhiên, khi thiết kế mỗi bộ phận đảm nhiệm một việc làm trình độ riêng sẽ hỗ trợ tổng thể đạt được mức độ hoàn hảo nhất cao hơn thế nữa. Group kỳ vọng rằng, những bạn sẽ trọn vẹn có thể lựa chọn Pattern thích hợp và vận dụng thành công xuất sắc cho dự án công trình bất Động sản của tớ!

Bài viết có tìm hiểu thêm từ: Stack Java, JavaTPoint, geeksforgeeks, TopDev, TutorialsPoint, Guru, GPCoder…

Những thắc mắc thường gặp về Abstract Factory Pattern

Nên sử dụng Factory Method hay Abstract Factory?

Sẽ không còn một câu vấn đáp đúng chuẩn 100% cho thắc mắc này. Câu vấn đáp sẽ tùy từng việc bạn đang muốn xây dựng ứng dụng/ ứng dụng của tớ ra sao để lựa chọn Factory Method hay Abstract Factory; hoặc những bạn sẽ nên phải linh hoạt vận dụng cả Factory Method hay Abstract Factory vào dự án công trình bất Động sản của tớ.

Khi nào nên sử dụng Factory Method?

Thông thường, Factory Method sẽ tiến hành sử dụng trong việc thay thế những toolkit hoặc framework nào đó. Đoạn mã framework đó nên phải tạo ra 1 đối tượng người dùng là những lớp con Abstract tương ứng, mục tiêu nhằm mục đích để tăng tính mềm dẻo của framework.

Ưu điểm của Factory Method ra sao?

Factory Method giúp hạn chế sự phụ thuộc giữa creator và concrete products.

Factory Method tương hỗ gom những đoạn code tạo ra product triệu tập lại với nhau để bạn cũng trọn vẹn có thể thuận tiện và đơn thuần và giản dị thao tác, theo dõi.

Việc mở rộng ứng dụng sẽ đơn thuần và giản dị hơn, bạn chỉ việc thêm những đoạn code mới vào chương trình mà tránh việc phải gây đổ vỡ những cấu trúc ban sơ.

Khi nào nên sử dụng Factory Method?

Nên sử dụng Factory Method khi chúng ta có nhu yếu muốn:

Tạo ra cách mới trong việc khởi tạo ObjectGiảm bớt sự phụ thuộcẨn việc xử lý logic trong lúc khởi tạo

CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO
Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn, Phường Bến Nghé, Quận 1, Thành phố Hồ Chí MinhVăn phòng đại diện thay mặt thay mặt: 42 Trần Phú, Phường 4, Quận 5, Thành phố Hồ Chí MinhĐiện thoại: 0364 333 333Tổng đài miễn phí: 1800 6734Email: sales@.orgWebsite: www..org

Tags: Kiến thức lập trình

Video Abstract Factory Pattern là gì? Những thành phần của Abstract Factory Pattern mới nhất?

Hero đang tìm kiếm từ khóa Abstract Factory Pattern là gì? Những thành phần của Abstract Factory Pattern 2022-11-02 00:27:54 san sẻ Mẹo Hướng dẫn trong nội dung bài viết một cách Mới Nhất.
#Abstract #Factory #Pattern #là #gì #Những #thành #phần #của #Abstract #Factory #Pattern Abstract Factory Pattern là gì? Những thành phần của Abstract Factory Pattern
===> Nếu bạn có thắc mắc hay yếu tố gì nội dung bài viết trọn vẹn có thể để lại phản hồi cuối bài nhé.

Exit mobile version