Java: реализует MutableTreeNode, удаляет подобные старые методы? - PullRequest
1 голос
/ 30 июля 2010

Я все ближе к полной реализации JTree для представления коллекции Series. Иерархия: Показать> Сезон> Эпизод.

Это все классы, и каждый из них реализует интерфейс MutableTreeNode. При запуске этого проекта я не знал, что мне понадобится этот интерфейс, поэтому я определил такие методы, как 'removeFromSeason' в Episode, 'add (Episode ep)' в Season, ..

Теперь, когда я реализую этот интерфейс MutableTreeNode, я вижу, что многие методы перекрываются. Поэтому мне интересно, как я должен справиться с этим. Например: add (Episode ep) in просто принимает Episode в качестве аргумента, в то время как «insert (MutableTreeNode child, int index)» использует 2 аргумента: дочерний и индекс. В эпизоде ​​добавления я только что добавил эпизод в ArrayList в произвольной позиции. У каждого Эпизода есть переменная, содержащая номер Эпизода, чтобы не было проблем.

Если я полностью заменю метод add, мне следует также указать индекс Episode, который может усложнить ArrayList. Или я буду выполнять двойную работу, передавая эпизод и episode.getNumber () в качестве аргументов, что мне кажется глупым.

Я мог бы также сохранить как оригинальные методы, так и новые, и позволить одному вызывать другой. Мне бы это не показалось правильным.

Как вы относитесь к этому? Любой комментарий приветствуется:)

Вред

1 Ответ

1 голос
/ 30 июля 2010

Когда я хочу реализовать дерево, я предоставляю реализацию TreeModel и выполняю всю обработку дерева в нем.Я никогда не реализую TreeNode или MutableTreeNode (узел не должен реализовывать какой-либо интерфейс).Это освобождает бизнес-объекты от проблем пользовательского интерфейса.Конечно, TreeModel нужно как-то уведомлять, когда происходят изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...