"디자인 모델"정책 모드

전략 모드

내가 당신에게 계산기의 예를 들어 보겠습니다

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 (최대 반지, 형제가 마지막 문장이 핵심이라고 생각)을 복사 직접 여기 와서 튜토리얼입니다
장점은
이미 분명하고, 그 개폐, 좋은 확장 성의 원칙을 따르는 것입니다.

결손
수업을 높이기 위해 당신의 전략은 점점 더 될 것입니다.
당신이 실제 개발 전략 패턴을 사용하는 경우, 우리는 당신의 파트너가되었습니다 어떤 전략을 알 수 있도록 문서를 작성하는 기억해야한다, 그래서 모든 정책은, 클래스에 노출되어야합니다. 시로의 기본은 세 가지 인증 전략을 제공 마찬가지로, 분명 그렇지 않으면 우리가 사용하는 방법을 알고하지 않는 문서로 작성해야합니다.

물론, 균형, 장점에 비해, 이러한 단점은 것이 아니다. 대중의 관심의 마지막 숫자에 오신 것을 환영합니다 : 낮은 키 레드 팬더

이 논문은 출판 낮은 키 여러 운영 팬더 기사로 구성! 저작권 : 모든 낮은 키 레드 팬더, 복제 금지,

추천

출처www.cnblogs.com/aodeng/p/11776333.html