전략 모드
내가 당신에게 계산기의 예를 들어 보겠습니다
I는 두 클래스를 빼기 컴퓨팅 인터페이스, 인터페이스 추가 생성하고 생성 된 산출 클래스 (계산 방법, 반환 값을 설정), 마지막 테스트 클래스 테스트 작성한다
컴퓨팅 인터페이스
public interface Operation {
public int doOperation(int number1,int number2);
}
인터페이스 추가,이 두 클래스를 빼기
public class OperationAdd implements Operation {
@Override
public int doOperation(int number1, int number2) {
return number1+number2;
}
}
public class OperationSub implements Operation {
@Override
public int doOperation(int number1, int number2) {
return number1-number2;
}
}
이어서 (계산 방법은 리턴 값을 제공한다) 클래스 계산을 만들
public class Cal {
private Operation operation;
public void setOperation(Operation operation){
this.operation=operation;
}
public int doOperation(int number1,int number2){
return this.operation.doOperation(number1,number2);
}
}
마지막으로, 테스트 클래스 테스트를 작성
/**
* @program:hope
* @author:aodeng
* @微信公众号:低调小熊猫
* @create:2018-11-08 20:40
**/
public class TestController {
private static final Logger log= LoggerFactory.getLogger(TestController.class);
public static void main(String[] args) {
Cal cal=new Cal();
//使用加法
cal.setOperation(new OperationAdd());
//输出结果
log.info("[计算器加]-[{}]",cal.doOperation(4,2));
//使用减法
cal.setOperation(new OperationSub());
//输出结果
log.info("[计算器减]-[{}]",cal.doOperation(4,2));
}
}
영업 실적
"C:\Program Files\Java\jdk1.8\bin\java" com.hope.test.TestController
20:44:33.994 [main] INFO com.hope.test.TestController - [计算器加]-[6]
20:44:34.012 [main] INFO com.hope.test.TestController - [计算器减]-[2]
Process finished with exit code 0
디자인 패턴의 기본 원칙 : 개방 및 폐쇄의 원칙.
의미 : 수정 폐쇄, 확장 오픈
확장하면 우리의 계산기는 라인에 계산기에서 SetOption (새 확장 인터페이스)를 호출 한 후, 나누기, 곱하기 만이 인터페이스를 구현해야 계산하고, 다른 알고리즘에, 그래서 우리의 응용 프로그램의 확장 성을 인터페이스의 수정을 위해 폐쇄한다 그것은 매우 강력하다.
: 나는이 구절을 볼 때 다음은 I (최대 반지, 형제가 마지막 문장이 핵심이라고 생각)을 복사 직접 여기 와서 튜토리얼입니다
장점은
이미 분명하고, 그 개폐, 좋은 확장 성의 원칙을 따르는 것입니다.
결손
수업을 높이기 위해 당신의 전략은 점점 더 될 것입니다.
당신이 실제 개발 전략 패턴을 사용하는 경우, 우리는 당신의 파트너가되었습니다 어떤 전략을 알 수 있도록 문서를 작성하는 기억해야한다, 그래서 모든 정책은, 클래스에 노출되어야합니다. 시로의 기본은 세 가지 인증 전략을 제공 마찬가지로, 분명 그렇지 않으면 우리가 사용하는 방법을 알고하지 않는 문서로 작성해야합니다.
물론, 균형, 장점에 비해, 이러한 단점은 것이 아니다. 대중의 관심의 마지막 숫자에 오신 것을 환영합니다 : 낮은 키 레드 팬더
이 논문은 출판 낮은 키 여러 운영 팬더 기사로 구성! 저작권 : 모든 낮은 키 레드 팬더, 복제 금지,