Design Pattern: Abstract Factory

Chào mừng các bạn đến với chủ đề Design Pattern Code C++ tại blog: Phattrienphanmem123az

Và hôm nay chúng ta sẽ tìm hiểu về pattern đầu tiền trong nhóm creational pattern:

Abstract Factory Pattern.
1. Tính chất cơ bản abstract Factory.

+ Không cần biết cụ thể đến các lớp product A1, A2, B1, B2 mà vẫn tạo ra được chúng thông qua Abstract Factory

+ Điều đó có nghĩa là chỉ cần sử dụng một đối tượng mà tạo lên được nhiều đối khác chỉ cần chúng có quan hệ với nhau.

Ví dụ cho thực tế:

Cửa hàng bán đồ điện tử, họ đến nhà máy, họ không bao giờ mua lẻ rời rạc từng chiếc iphone, từng chiệc tablet, từng chiếc ipad, ở từng khu vực khác nhau tại nhà máy.

Mà họ mua theo gói sản phẩm.

Ví dụ họ muốn mua gói sản phẩm của Samsung.

Thì nhà máy samsung phải tự tập hợp một gói sản phẩm đầy đủ các loại như : phone, tablet, màn hình để bán cho họ.

Như vậy shop biết gói sản phẩm có phone, có tablet, có screen. Nhưng không quan tâm việc mua nó ở đâu trong từng khu vực của nhà máy. Đó là việc của nhà máy.

2. Sơ đồ UML abstract Factory.

 

3. Áp dụng vào một ví dụ thực tế.

3. Code C++ minh họa cho abstract factory 

a. Cửa hàng thì bán 2 loại sản phẩm đó là Phone và table. 

+ Phone thì có 2 hãng là galaxy của sam sung và Iphone của apple.

 

+ Tablet thì cũng có 2 hãng là Samsung Tab và Ipad

b. Cửa hàng sẽ lấy sản phẩm từ các nhà máy sản xuất.

Nhà máy sản xuất làm nhiệm vụ tạo các gói sản phẩm gồm Phone và tablet.

Nhà máy sản xuất sẽ lấy từ hai nguồn là nhà máy sam sung và nhà máy apple

c. Cuối cùng tại hàm main. Chỉ cần new đối tượng hai nhà máy. Thì lập tức 4 loại sản phẩm điện tử trên sẽ được khởi tạo.

Ok. Đó là Abstract Factory Design Pattern

__________________________________________

Pass Pham

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.