Hệ thống bổ sung điều hòa mô- đun là thiết yếu để xây dựng phần mềm linh hoạt và bảo trì được. Trong Python, mẫu hấp dẫn cung cấp một cách mạnh mẽ để thiết kế hệ thống như thế, giúp các nhà phát triển tạo gia đình của các đối tượng liên quan mà không cần xác định lớp học cụ thể.

Hiểu được gương mẫu về sự phân biệt

Các mô hình nhà máy trừu tượng là một mô hình thiết kế sáng tạo cung cấp một giao diện để tạo ra các gia đình có liên quan hoặc phụ thuộc. nó cho phép sự trao đổi giữa các gia đình đối tượng, làm cho hệ thống thích nghi hơn để thay đổi.

Thi hành mẫu trong Python

Trong Python, thực hiện các yếu tố trừu tượng bao gồm xác định giao diện trừu tượng cho các sản phẩm và nhà máy, sau đó tạo các lớp bê tông để thực hiện các giao diện này. phương pháp này khuyến khích sự kết nối lỏng lẻo và tăng khả năng sinh sản.

Đang định dạng giao diện

Bắt đầu bằng cách xác định lớp học hoặc giao diện trừu tượng cho sản phẩm và nhà máy của bạn. Môđun Python [FLT: 0] giúp thực thi giao diện này.

from abc import ABC, abstractmethod

class Button(ABC):
 @abstractmethod
 def render(self):
 pass

class Checkbox(ABC):
 @abstractmethod
 def render(self):
 pass

class GUIFactory(ABC):
 @abstractmethod
 def create_button(self):
 pass

 @abstractmethod
 def create_checkbox(self):
 pass

Tạo ra các nhà máy và sản phẩm riêng

Kế đến, hãy thực hiện các lớp cụ thể cho mỗi gia đình và nhà máy sản xuất, chẳng hạn như các chủ đề Windows và Mac có thể là các gia đình sản xuất khác nhau.

class WindowsButton(Button):
 def render(self):
 print("Render a Windows style button.")

class WindowsCheckbox(Checkbox):
 def render(self):
 print("Render a Windows style checkbox.")

class WindowsFactory(GUIFactory):
 def create_button(self):
 return WindowsButton()

 def create_checkbox(self):
 return WindowsCheckbox()

class MacButton(Button):
 def render(self):
 print("Render a Mac style button.")

class MacCheckbox(Checkbox):
 def render(self):
 print("Render a Mac style checkbox.")

class MacFactory(GUIFactory):
 def create_button(self):
 return MacButton()

 def create_checkbox(self):
 return MacCheckbox()

Dùng yếu tố trừu tượng

Để sử dụng mô hình, hãy thực hiện ngay lập tức nhà máy và tạo các vật thể sản xuất thông qua phương pháp nhà máy. Cách này cho phép chuyển đổi sắc thái hoặc gia đình một cách dễ dàng.

def initialize_gui(factory: GUIFactory):
 button = factory.create_button()
 checkbox = factory.create_checkbox()
 button.render()
 checkbox.render()

# Usage
import sys

if sys.platform == "win32":
 factory = WindowsFactory()
else:
 factory = MacFactory()

initialize_gui(factory)

Bằng cách theo mẫu này, hệ thống bổ sung của bạn có thể tích cực hỗ trợ các sắc thái khác nhau của UI hoặc các gia đình đối tượng, làm cho nó có tính điều chỉnh và điều chỉnh cao.