Null Object Pattern

  • 14
  • Недоступна
Почитай на вики про паттерн "Null Object". Используй Files, чтобы в конструкторе класса Solution правильно инициализировать поле fileData объектом ConcreteFileData. Если возникли какие-то проблемы со чтением файла по пути pathToFile, то инициализируй поле объектом NullFileData.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (84)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Евгений Т.
Уровень 33, Москва, Россия
18 апреля, 04:47
Изначально, не совсем понял условие задачи, но из за собственной невнимательности, спасибо комментариям решил с первого раза.
Максим Дудин
Уровень 36, Калининград
13 декабря 2021, 16:04
раз и квас.... подозрительно...😒
Дмитрий Б.
Уровень 29, Благовещенск, Россия
15 сентября 2021, 08:08
Написал строчку Path path = Paths.get(pathToFile); чтобы упростить писанину при инициализации FileData, но нет же, Валя хочет чтоб ты Paths.get(pathToFile) прописал 4 раза.
bprint
Уровень 30
22 сентября 2021, 06:00
А у меня прокатила эта строчка. Странно...
Максим Дудин
Уровень 36, Калининград
13 декабря 2021, 16:01
И в готовом решении именно так прописано.. Оччень странно..
LuneFox богатый программист в далёких мечтах Expert
19 декабря 2021, 11:22
Точно так написал и всё прокатило. Возможно, у тебя проблема была в чём-то ещё.
Maks Panteleev Java Developer в Bell Integrator
25 июня 2021, 07:37
Смысл в том, что иногда возвращение null приводит к всем известной ошибке. Чтоб спокойно возвращать ничего и не иметь проблем, используется паттерн "нулевой объект". Это когда мы вместо null возвращаем специально созданный пустой объект. "Болванку" некоторую
Aleksandr Alekseenko Network engineer
14 июня 2021, 00:06
В блоке try использовал одну строчку fileData = new ConcreteFileData(Files.isHidden(path), Files.isExecutable(path), Files.isDirectory(path), Files.isWritable(path)); А в catch, вроде бы и так понятно, что писать.
Davilalexius
Уровень 37, Москва, Россия
11 апреля 2021, 15:57
Зачем-то проверял в начале на if (Files.isReadable(Path)){тогда всё остальное}. Видимо для экономии процессорного времени, если файла вообще не существует)))) Делайте проверки, только те что в интерфейсе)
Regina Kazan Start-up Founder / AT QA в jivys.com
6 апреля 2021, 16:31
одна из тех задач, которая получилась с первого раза по наитию
mbesurich Android Developer в Й1
1 марта 2021, 20:13
не понимаю, что не нравится валидатору! подсмотрел правильный ответ и не нашёл принципиальной разницы с моём решением. Подскажите, плиз, кто может, почему у меня ни одно условие не выполнено?
Данил
Уровень 27
9 июня 2021, 05:02
Нужно использовать Files, а не File. Почему-то старые классы валику не нравятся
Aleksandr
Уровень 41
18 декабря 2020, 08:47
Совершенно непонятно зачем, для чего, куда, как . но вы пишите , пишите. может что и поймете. Всё больше и чаще задачи идут делай что-то, может поймешь для чего оно и зачем. А уж как решать проблемы твои, теорию мы тебе конечно же не расскажем.
Maks Panteleev Java Developer в Bell Integrator
25 июня 2021, 07:36
А что тут непонятного то? Нас быстро и легко обучили паттерну нулевой объект.
Hidden #213 Урoвень 13 (Forever&Ever)
26 февраля, 14:06
Это да, всё в принципе было понятно даже ещё не читая про сам паттерн. Интересно только часто ли буду им пользоваться и буду ли вообще :) Ну да ладно, для общего развития запомню. P.S. а тут у тебя уже конец Июня... хмм... наверное с Многопоточки вернулся😎
Maks Panteleev Java Developer в Bell Integrator
27 февраля, 10:04
ты учиться будешь или мои темпоральные графики изучения джавы составлять?))
Hidden #213 Урoвень 13 (Forever&Ever)
27 февраля, 10:07
😂 Одно другому не мешает. Ахахах Я думал, что мы плюс\минус одинаково идём, а оказывается я безбожно отстаю😑
Maks Panteleev Java Developer в Bell Integrator
27 февраля, 13:00
ага, потому что ты задаешь миллард бессмысленных бесполезных вопросов
Hidden #213 Урoвень 13 (Forever&Ever)
27 февраля, 14:41
Таков путь...
Bonus
Уровень 35
12 ноября 2020, 15:08
Через условие if (Files.exists) валик не принимает только через try и создание NullObject в catch
Dmitry
Уровень 31, Хабаровск, Россия
16 ноября 2020, 02:07
Да, сначала тоже так подумалось делать. Но все дороги в любом случае ведут в try catch, idea не хочет Files.isHiden(...) проверять без обработки IOException.