2015-01-15 6 views
-4

Я хотел бы создать программу на основе сценария робота, которая включает абстрактные классы, типы интерфейсов и списки массивов. Может ли кто-нибудь дать мне несколько советов о том, как создать этот сценарий (через диаграмму UML, чтобы показать, как все ссылки). Этот сценарий должен включать некоторые сложные методы, но я не уверен, что делать как сложный метод или где их разместить в сценарии. Заранее спасибо.сценарий робота - наследование java, типы интерфейсов и абстрактные классы

ответ

2

Мир программирования, по большей части, перешел от сложных иерархий наследования, а вместо этого embraced composition и dependency 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

 Смежные вопросы

  • Нет связанных вопросов^_^