II. Định nghĩa
Mẫu AbstractFactory là một mẫu thiết kế mà cung cấp cho trình khách một giao diện cho một họ hoặc một tập các đối tượng thuộc các lớp khác nhau nhưng có cùng chung giao diện với nhau mà không phải trực tiếp làm việc với từng lớp con cụ thể.
III. Luợc đồ UML
+ AbstractFactory (ContinentFactory): Khai báo một giao diện cho các thao tác để tạo ra các dẫn xuất trừu tượng
+ ConcreteFactory (AfricaFactory, AmericaFactory): Cài đặt các thao tác để tạo ra các đối tượng dẫn xuất chi tiết
+ AbstractProduct (Herbivore, Carnivore): Khai báo một giao diện cho một kiểu đối tượng dẫn xuất
+ Product (Wildebeest, Lion, Bison, Wolf): Định nghĩa một đối tượng dẫn xuất được tạo ra bởi một factory cụ thể tương ứng. Cài đặt giao diện AbstractProduct
+ Client (AnimalWorld): Sử dụng giao diện được khai báo bởi các lớp AbstractFactory và AbstractProduct
IV. Ví dụ về mẫuV. Các mẫu liên quan
AbstractFactory thường được cài đặt cùng với singleton, FactoryMethod đôi khi còn dùng cả Prototype. Các lớp con cụ thể (concrete class) thường được cài đặt bằng singleton. Bởi singleton có thể tạo ra những đối tượng đồng nhất cho dù chúng ta gọi nó ở đâu trong chương trình.Các mẫu này sẽ được nói kỹ hơn ở các phần sau.