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()
산출
위의 프로그램은 다음과 같은 출력을 생성합니다-
설명
출력을 실행하는 함수의 전략 목록을 제공합니다. 이 행동 패턴의 주요 초점은 행동입니다.