Nhảy đến nội dung chính

Monkey patch

Monkey patch là một kỹ thuật trong Python (và các ngôn ngữ động khác), dùng để thay đổi hoặc ghi đè hành vi của một hàm, phương thức, hoặc class sau khi nó đã được định nghĩa, mà không cần chỉnh sửa file gốc.

Nói đơn giản:

Bạn thay thế một hàm hoặc class trong thư viện gốc bằng hàm của bạn – ngay lúc chương trình đang chạy!

Ví dụ dễ hiểu

Giả sử  có hàm như vầy:

# trong payment_entry/payment_entry.py

def hello():
    print("Hello from VHTerp")

Bạn không muốn sửa trực tiếp file, bạn làm như vầy trong app của bạn:

# trong app/patches/my_patch.py

def custom_hello():
    print("Hello from My App 👋")

def patch():
    from payment_entry import payment_entry
    payment_entry.hello = custom_hello