전략 디자인 패턴은 종종 부족 언어로 일류 기능을위한 대용품으로 간주됩니다.
예를 들어 기능을 객체에 전달하고 싶다고 가정 해보십시오. Java에서는 원하는 동작을 캡슐화하는 다른 객체를 객체에 전달해야합니다. Ruby와 같은 언어에서는 기능 자체를 익명 함수 형태로 전달하면됩니다.
그러나 나는 그것에 대해 생각하고 있었고 전략은 단순한 익명의 기능보다 더 많은 것을 제공하기로 결정했습니다.
객체가 메소드가 실행되는 기간과 독립적으로 존재하는 상태를 유지할 수 있기 때문입니다. 그러나 익명 함수 자체는 함수 실행이 완료되는 순간 존재하지 않는 상태 만 유지할 수 있습니다.
일류 함수를 지원하는 객체 지향 언어에서 전략 패턴은 함수를 사용하는 것보다 이점이 있습니까?