1. C++ / Говнокод #7238

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    //для краткости порезано
    //первый файл
    //объявление контрола, который в себе рисует квадратные thumbnailы
    class ThumbnailViewer : .... {
    ...
    //внимание!
    private: 
    struct Impl;
    Impl *m_impl;
    }
    //второй файл
    //объявление мифической структуры Impl
    
    struct ThumbnailView::Impl
    {
    ...
    //а вот это и есть то, что должно рисоваться на экране для каждого thumbnail
        class Item : public QGraphicsPixmapItem {
    ...
    }
    ...
    }

    что хотел иметь ввиду афтор?

    Запостил: mr_borod, 13 Июля 2011

    Комментарии (6) RSS

    • >что хотел иметь ввиду афтор?
      Скрытие реализации.
      Ответить
      • у меня коллега таким страдал в прошлом. а потом затрахался бо количество классов автоматом удваивалось. иногда еще и утраивалось: абстрактный интерфейс, клас реализации интерфейса и уже непосредственно класс реализации реализации интерфейса.
        Ответить
    • Про PIMPL почитай и вразумей свою безграмотность.
      Ответить
      • к сожалению, за краткостью, отсутствует конткест (реализация одна и только одна, что в планах, что в действительности). скрытие реализации в данном случае избыточно
        Ответить
    • мифическая структура превращается ... в эпический фейл
      Ответить
    • loki посмотрите Pimpl же.
      Ответить

    Добавить комментарий