Как стать автором
Обновить

Комментарии 4

Честно говоря, ваш Facade ни на секунду не фасад получился :)

В другой статье уже отмечали, что интерфейс должен содержать один метод export, а в ворд, эксель или ещё куда-то экспортировать данные - это уже ответственность сервиса, который и будет реализовывать этот интерфейс.

Разве это зависит не от паттерна, применяемого уже для вывода данных? Там ведь может быть другой.

Перед тем, как показывать реализацию класса, неплохо бы дать описание, что он будет делать. Plane ведь может быть не только самолётом, но и планом: астральнпый план и всё такое вот. Некоторые больше играют в D&D, чем летают на самолётах на английском.

Перед тем, как показывать, как какой-то класс реализует паттерн, было бы хорошо описать своими словами, что значит данное в начале официальное определение. Нужно просто создать какой-то объект, который знает, как реализуются те или иные методы, а внешний вызыватель будет обращаться к этому объекту, чтобы можно было менять количество и структуру этих методов, не заставляя вызывателя переписывать свой код, а переписывая только этот один объект? А если изменится количество параметров, то всё равно переписывать?

То есть, вместо a.fn1(param1), b.fn2(param2) вызывается c.fun1(param1), e.fun2(param2)? В двух словах: почему это удобно?

Для тех, кто не знаком с Dart, можно на словах описать, что тут у нас получилось? Какие методы класса Plane скрыты классом Facade? Как внешний код вызывал эти методы раньше и как стал вызывать теперь?

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории