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

senior

Chain of Responsibility là gì? Trong trường hợp nào thì áp dụng pattern này?

entry

Design Pattern là gì? Vì sao chúng ta lại cần nó.

middle

Điều gì sẽ xảy ra nếu chúng ta không có một phương thức synchronized để trả về thực thể Singleton trong môi trường đa luồng?

Bình luận

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

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