2015-01-15 5 views
-4

로봇 클래스를 기반으로 추상 클래스, 인터페이스 유형 및 배열 목록을 포함하는 프로그램을 만들고 싶습니다. 누구나이 시나리오를 만드는 방법에 대한 조언을 (UML 다이어그램을 통해 모든 연결 방법을 보여주기 위해) 줄 수 있습니까? 이 시나리오에는 몇 가지 복잡한 메소드가 포함되어야하지만 복잡한 메소드 또는 시나리오에서 배치 할 위치에 대해 확신 할 수 없습니다. 미리 감사드립니다.로봇 시나리오 - Java 상속, 인터페이스 유형 및 추상 클래스

답변

2

프로그래밍의 세계는 대부분 복잡한 상속 계층에서 옮겨졌고 그 대신 embraced compositiondependency injection입니다. 모 놀리 식 서비스를 작은 (1-5 메서드) 인터페이스로 분해하는 것이 좋습니다. mockito 또는 그와 유사한 종속성을 조롱 할 수 있기 때문에 단위 테스트가 간편 해지는 이점이 있습니다.

예를 들면 :

public interface Walkable { 
    void walk(Robot robot, int paces); 
} 

public interface Talkable { 
    void talk(Robot robot, String phrase); 
} 

public interface Robot { 
    void walk(int paces); 
    void talk(String phrase); 
} 

public class RobotImpl implements Robot { 
    private final Walkable walkable; 
    private final Talkable talkable; 

    public RobotImpl(Walkable w, Talkable t) { 
     this.walkable = w; 
     this.talkable = t; 
    } 

    public void walk(int paces) { 
     walkable.walk(this, paces); 
    } 

    public void talk(String phrase) { 
     talkable.talk(this, phrase); 
    } 
} 
+0

이 위대하다! 이것에 대해 많은 감사를드립니다! 내가 필요한 영감입니다. 정말 감사. – javaMonkey

관련 문제