Что такое: программирование на уровне интерфейсов а не реализации? Может есть какие конкретные примеры
Re: Что такое: програмиров.на уровне интерфейсов а не реализ значит начинаешь с описания интерфейсов, а не рвешся сразу писать код реализации. твой КО
Re: Что такое: програмиров.на уровне интерфейсов а не реализ Если отталкиваться от определения интерфейса(а в данном случае можно смело отталкиваться от него) то interface становится следующим шагом на пути к абстракции. Оно используется для создания полностью абстрактных классов, вообще не имеющих реализации. Ключевое слово interface фактически озночает: "Имено так должны выглядеть все классы, которые реализует данный интерфейс". источник: философия java 4-е издание. Брюс Эккель Добавлено спустя 9 минут 43 секунды: Re: Что такое: програмиров.на уровне интерфейсов а не реализации А вот конкретный пример Код (Text): // Объявим интерфейс 'iTemplate' interface iTemplate { public function setVariable($name, $var); public function getHtml($template); } источник: http://php.net/manual/language.oop5.interfaces
Re: Что такое: програмиров.на уровне интерфейсов а не реализ Т.е. фактически- нужно стараться больше применять интерфейсы?
Re: Что такое: програмиров.на уровне интерфейсов а не реализ Фактически нужно всегда исходить из задачи.
Re: Что такое: програмиров.на уровне интерфейсов а не реализ Фактически я для себя выработал два правила: 1) Думай в первую очередь о задаче. 2) Во вторую очередь думай о том, как будешь это тестировать. Тут и сразу принципы SOLID автоматом вытекают из пункта 2, и лапшекод стараешься не писать, а интерфейсы встраиваются где надо. А когда думаешь о том, как бы разухабистей интерфейсы забубенить, какой паттерн воткнуть, наоборот от задачи уходишь куда-то в дебри.
Re: Что такое: програмиров.на уровне интерфейсов а не реализ В книжке "PHP объекты, шаблоны и методики программирования" рассматривается подобное. Почитай внимательное. Вообще, прежде чем писать код, хорошо бы сначала на бумажке(доске) воссоздать структуру всего приложения, смоделировать на UML. Так ты будешь по-проще. Добавлено спустя 2 минуты 34 секунды: Re: Что такое: програмиров.на уровне интерфейсов а не реализации По крайней мере, можно псевдокода захерачить, и потом писать код.