Вопрос по объектам java

Рейтинг: 0Ответов: 1Опубликовано: 22.01.2015

Изучаю java. Столкнулся с такой проблемой, что тяжело связывать объекты при решении определенных задача. Есть задачи более понятные, там получается, но бывает совершенно непонятно.

Пример: "Написать виртуальную файловую систему с функциями добавления, удаления и т.д." Смотрел некоторые решения в инете, у многих разные, конкретно для меня пытаюсь разбивать в уме задачу на подзадачи, но, видно, не совсем правильно умею это делать, тяжело объяснить, но в данном примере не понимаю, как клеить пути к файлам и папкам, как это хранить (не в смысле как хранить, в коллекции, например, а в смысле, что как при обходе каталог сделать, чтобы правильно отобразился путь, то есть связь объектов папки и файла).

Ну, представление есть - класс FileSystem с наследниками FileDir и File, ну и т.д., хранить в коллекции. Но когда начинаю писать уже код, то постоянно сталкиваюсь с тем, что что-то непонятно, и не могу продвинутся. Чаще всего, это когда есть связь с 2-3 объектами, либо как-то передается через 1 объект в другой, ну, сложновато так объяснить, надеюсь, получилось.

Посоветуйте книги, может, есть в каких-то книгах разбор, как нужно строить объекты, алгоритмы, шаблоны, типичные подходы для решения задач. Или, может, есть какие-то методики, которые можно применить для упрощения построения объектов и связи между ними?

Заранее спасибо.

Ответы

▲ 2Принят

Почитайте про шаблоны проектирования (design patterns). Доступным языком о них рассказывается в книге Head First Design Patterns, более подробно - в GOF. В вашем конкретном случае подошёл бы паттерн "Компоновщик".