รูปแบบการออกแบบ Python - กลยุทธ์
รูปแบบกลยุทธ์เป็นรูปแบบพฤติกรรมประเภทหนึ่ง เป้าหมายหลักของรูปแบบกลยุทธ์คือการช่วยให้ลูกค้าสามารถเลือกอัลกอริทึมหรือขั้นตอนต่างๆเพื่อทำงานที่ระบุให้สำเร็จ อัลกอริทึมที่แตกต่างกันสามารถสลับเข้าและออกได้โดยไม่มีความยุ่งยากใด ๆ สำหรับงานที่กล่าวถึง
รูปแบบนี้สามารถใช้เพื่อปรับปรุงความยืดหยุ่นเมื่อมีการเข้าถึงทรัพยากรภายนอก
จะดำเนินการตามรูปแบบกลยุทธ์อย่างไร?
โปรแกรมที่แสดงด้านล่างช่วยในการนำรูปแบบกลยุทธ์ไปใช้
import types
class StrategyExample:
def __init__(self, func = None):
self.name = 'Strategy Example 0'
if func is not None:
self.execute = types.MethodType(func, self)
def execute(self):
print(self.name)
def execute_replacement1(self):
print(self.name + 'from execute 1')
def execute_replacement2(self):
print(self.name + 'from execute 2')
if __name__ == '__main__':
strat0 = StrategyExample()
strat1 = StrategyExample(execute_replacement1)
strat1.name = 'Strategy Example 1'
strat2 = StrategyExample(execute_replacement2)
strat2.name = 'Strategy Example 2'
strat0.execute()
strat1.execute()
strat2.execute()
เอาต์พุต
โปรแกรมข้างต้นสร้างผลลัพธ์ต่อไปนี้ -
คำอธิบาย
มีรายการกลยุทธ์จากฟังก์ชันซึ่งดำเนินการผลลัพธ์ จุดเน้นหลักของรูปแบบพฤติกรรมนี้คือพฤติกรรม