Câu hỏi phỏng vấn Design pattern
Câu hỏi

Design pattern Factory là gì?

Câu trả lời

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, TriangleRectangle. 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:

Design pattern Factory là gì?

Bây giờ ta triển khai code cho ví dụ trên:

Bước 1: Tạo interface Shape

java Copy
//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.

java Copy
//Rectangle.java
public class Rectangle implements Shape {
    @Override
    public void draw() {
        System.out.println("Rectangle Drawn");
    }
}
java Copy
//Square.java
public class Square implements Shape {
    @Override
    public void draw() {
        System.out.println("Square Drawn");
    }
}
java Copy
//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ể:

java Copy
//ShapeFactory.java
public class ShapeFactory {
    //the method will be used to get object of require...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Design pattern nào trong thư viện JDK của Java?

middle

Trong Design pattern, nguyên tắc Single Responsibility là gì?

middle

Vấn đề mà pattern builder giải quyết là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào