รูปแบบการออกแบบ 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()

เอาต์พุต

โปรแกรมข้างต้นสร้างผลลัพธ์ต่อไปนี้ -

คำอธิบาย

มีรายการกลยุทธ์จากฟังก์ชันซึ่งดำเนินการผลลัพธ์ จุดเน้นหลักของรูปแบบพฤติกรรมนี้คือพฤติกรรม