찾다

 >  Q&A  >  본문

Java编程里一般怎么管理接口的实现类?

比如说Color接口有三个实现类分别是:Red、Blue和Green
现在我要在运行的时候才决定用某个实现类
怎么管理比较优雅?别if..else..

PHPzPHPz2803일 전614

모든 응답(4)나는 대답할 것이다

  • 阿神

    阿神2017-04-18 10:54:49

    工厂方法模式

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-18 10:54:49

    프로그래밍에는 顺序, 分支, 循环의 세 가지 구조가 있습니다. if-else가장 많이 사용되는 브랜치 구조로 필수입니다.

    이 문제에 대해 if-else은 프로그래밍을 배운 사람이라면 누구나 가장 간단한 프로그래밍 방법입니다. 그리고 가장 단순한 것이 가장 우아합니다.

    if-else에서 가끔 안 좋은 점은 ifif-else이 중첩되어 있어 논리적 판단의 깊이가 지나치게 높다는 점입니다.

    그래서 좋은 해결책은 if을 일찍 종료할 수 있을 때 미리 결과를 반환하여 if의 깊이가 최대 2레벨이 되도록 하는 것입니다.

    다음과 비슷한 질문을 볼 수 있습니다.
    if-else가 많은데 어떻게 최적화하나요?

    디자인 패턴은 편리함을 제공할 수 있지만 자신의 솔루션에 디자인 패턴을 강요하지 마세요. 자신만의 코드에 대해 简单的设计设计模式 사이에서 절충해야 합니다.

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-18 10:54:49

    제목 설명이 디자인 패턴의 策略模式에 더 어울리는 느낌입니다.

    회신하다
    0
  • 怪我咯

    怪我咯2017-04-18 10:54:49

    다형성을 사용하고 암시적 유형 변환에 맡겨두면 어떨까요? 인터페이스 메소드의 구현에 따라 처리됩니다.

    회신하다
    0
  • 취소회신하다