자바스크립트 상속 예제
1 sierpnia 2019
조합 예제
2 sierpnia 2019

이제 전략 패턴 예제 알고리즘이 준비되었습니다. 우리는 쇼핑 카트를 구현할 수 있으며 지불 방법은 지불 전략으로 입력이 필요합니다. 다음은 원본 디렉터리에 없는 경우 대상 디렉터리의 파일을 삭제하는 전략입니다. 하위 디렉토리를 정리하기 위해 이전부터 재귀를 유지했지만 최상위 파일을 삭제하고 파일을 삭제할지 여부를 결정하는 논리를 세분화했습니다. 디자인 무늬는 정말 잘 불평입니다. 정말 고마워요. 이 게시물을 최대한 사용하려면 개체 지향 프로그래밍 및 상속에 대한 기본적인 이해와 C # 또는 Java와 같은 개체 지향 프로그래밍 언어가있는 경우 도움이됩니다. C # 구문 전문가가 아니더라도 전략 패턴뒤에 있는 주요 아이디어를 얻을 수 있기를 바랍니다. „주문”의 상태가 상태 패턴이 아니라고 확신하십니까? 나는 주문이 상태에 따라 다르게 처리되지 않을 것이라는 직감이 있다.

전략 패턴의 좋은 예는 우리가 다른 문자를 가질 수 있고 각 문자가 공격하는 여러 무기를 가질 수 있지만 한 번에 하나의 무기를 사용할 수있는 게임에있을 것입니다. 그래서 우리는 문맥으로 문자를 가지고, 예를 들어 왕, 사령관, 기사, 군인과 무기는 공격 () 사용되는 무기에 따라 달라집니다 방법 / 알고리즘이 될 수있는 전략으로. 그래서 콘크리트 무기 클래스는 칼, 도끼, 석궁, BowAndArrow 등이었다.. 그들은 모두 공격() 메서드를 구현합니다. 나는 추가 설명이 필요하지 않다고 확신합니다. 동일한 예제는 http://coder2design.com/strategy-pattern/ 수행되므로 많은 조건 대신 각 조건이 별도의 전략 클래스로 이동됩니다. 프린터 클래스에서 다른 인쇄 스타일 구현을 알 필요가 없습니다. 핵심 아이디어는 다양한 전략을 나타내는 개체를 만드는 것입니다. 이러한 개체는 컨텍스트 개체가 전략에 따라 동작을 변경하도록 선택할 수 있는 전략 풀을 형성합니다. 이러한 개체(전략)는 동일한 작업을 수행하고 동일한(단일) 작업을 가지며 동일한 인터페이스 전략을 구성합니다. 일반적으로 전략 패턴은 데이터 구조의 일부 코드에 대한 참조를 저장하고 검색합니다.

이는 네이티브 함수 포인터, 일류 함수, 개체 지향 프로그래밍 언어의 클래스 또는 클래스 인스턴스와 같은 메커니즘또는 리플렉션을 통해 언어 구현의 내부 코드 저장소에 액세스하여 달성할 수 있습니다. 경우에 따라 디자인 패턴을 적용할 수 있다고 해서 적용하지 않는 것이 가장 좋습니다. 사실, 이 예는 교육목적으로 단순하게 유지되었습니다. 여기에 전략 패턴이 과잉이라는 주장이 제기되었을 수 있습니다. 안녕하세요 공공 무효 지불 (지불 전략 지불 방법){ int 금액 = 계산합계 (); paymentMethod.pay (금액); } 여기 PaymentStrategy는 구현 된 클래스의 참조를 들고있는 인터페이스입니다, 그것은 실행 시간 다형성이 아니다 .? 전략 디자인 패턴과 런트 타임 다형성은 모두 동일합니다..? 컨텍스트는 클라이언트가 파일을 압축하는 방법을 제공합니다. 응용 프로그램에서 사용할 압축 알고리즘을 설정하는 기본 설정이 있다고 가정 해 봅시다. 컨텍스트에서 setCompressionStrategy 메서드를 사용하여 전략을 변경할 수 있습니다. 첫 번째 단계는 내가 추정하는 각 전략 구현을 테스트하는 것입니다. 두 번째는 입력에 따라 올바른 전략이 선택되었는지 테스트하는 것입니다. 여기서 중요한 것은 우리가 구현하려는 모든 정렬 전략에 대해 정렬이 수행 될 정렬 방법이 있어야한다는 것입니다.

Komentarze są wyłączone.