Design pattern Factory là gì?
Design pattern Factory là gì?
Factory thuộc nhóm design pattern creational. Ở đây các đối tượng được tạo mà không để lộ logic của việc tạo ra cho client. Bởi vì các đối tượng tham chiếu đến interface chung.
Ví dụ: Ta có 3 lớp Square
, Triangle
và Rectangle
. Ta sẽ sử dụng design pattern factory cho tạo đối tượng từ 3 lớp mà không để lộ logic tạo bằng cách dùng lớp ShapeFactory
. Lớp Driver
sẽ truyền thông tin như RECTANGLE/SQUARE/TRIANGLE đến đối tượng cần thiết. Sơ đồ UML cho trường hợp này:
Bây giờ ta triển khai code cho ví dụ trên:
Bước 1: Tạo interface Shape
//Shape.java
public interface Shape {
void draw();
}
Bước 2: Tạo lớp cụ thể Rectangle, Square, Triangle sử dụng triển khai interface Shape.
//Rectangle.java
public class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("Rectangle Drawn");
}
}
//Square.java
public class Square implements Shape {
@Override
public void draw() {
System.out.println("Square Drawn");
}
}
//Triangle.java
public class Triangle implements Shape {
@Override
public void draw() {
System.out.println("Triangle Drawn");
}
}
Bước 3: Tạo lớp ShapeFactory và tạo một phương thức gọi là getShapeInstance()
cho tạo đối tượng ở lớp cụ thể:
//ShapeFactory.java
public class ShapeFactory {
//the method will be used to get object of require...
middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào