За последние 24 часа нас посетил 45351 программист и 1813 роботов. Сейчас ищут 846 программистов ...

Что такое: програмиров.на уровне интерфейсов а не реализации

Тема в разделе "Прочие вопросы по PHP", создана пользователем php_user, 5 мар 2015.

  1. php_user

    php_user Новичок

    С нами с:
    19 апр 2014
    Сообщения:
    91
    Симпатии:
    0
    Что такое: программирование на уровне интерфейсов а не реализации? Может есть какие конкретные примеры
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Re: Что такое: програмиров.на уровне интерфейсов а не реализ

    Это закладка архитектуры.
     
  3. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    Re: Что такое: програмиров.на уровне интерфейсов а не реализ

    значит начинаешь с описания интерфейсов, а не рвешся сразу писать код реализации.
    твой КО
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
  5. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Re: Что такое: програмиров.на уровне интерфейсов а не реализ

    Если отталкиваться от определения интерфейса(а в данном случае можно смело отталкиваться от него) то
    interface становится следующим шагом на пути к абстракции. Оно используется для создания полностью абстрактных классов, вообще не имеющих реализации.
    Ключевое слово interface фактически озночает: "Имено так должны выглядеть все классы, которые реализует данный интерфейс".

    источник: философия java 4-е издание. Брюс Эккель

    Добавлено спустя 9 минут 43 секунды:
    Re: Что такое: програмиров.на уровне интерфейсов а не реализации
    А вот конкретный пример
    Код (Text):
    1. // Объявим интерфейс 'iTemplate'
    2. interface iTemplate
    3. {
    4.     public function setVariable($name, $var);
    5.     public function getHtml($template);
    6. }
    источник: http://php.net/manual/language.oop5.interfaces
     
  6. php_user

    php_user Новичок

    С нами с:
    19 апр 2014
    Сообщения:
    91
    Симпатии:
    0
    Re: Что такое: програмиров.на уровне интерфейсов а не реализ

    Т.е. фактически- нужно стараться больше применять интерфейсы?
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Re: Что такое: програмиров.на уровне интерфейсов а не реализ

    Фактически нужно всегда исходить из задачи.
     
  8. nguseff31

    nguseff31 Новичок

    С нами с:
    12 фев 2015
    Сообщения:
    8
    Симпатии:
    0
    Re: Что такое: програмиров.на уровне интерфейсов а не реализ

    Фактически я для себя выработал два правила:
    1) Думай в первую очередь о задаче.
    2) Во вторую очередь думай о том, как будешь это тестировать.
    Тут и сразу принципы SOLID автоматом вытекают из пункта 2, и лапшекод стараешься не писать, а интерфейсы встраиваются где надо. А когда думаешь о том, как бы разухабистей интерфейсы забубенить, какой паттерн воткнуть, наоборот от задачи уходишь куда-то в дебри.
     
  9. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Re: Что такое: програмиров.на уровне интерфейсов а не реализ

    В книжке "PHP объекты, шаблоны и методики программирования" рассматривается подобное.
    Почитай внимательное.
    Вообще, прежде чем писать код, хорошо бы сначала на бумажке(доске) воссоздать структуру всего приложения, смоделировать на UML. Так ты будешь по-проще.

    Добавлено спустя 2 минуты 34 секунды:
    Re: Что такое: програмиров.на уровне интерфейсов а не реализации
    По крайней мере, можно псевдокода захерачить, и потом писать код.