singlepost

Проектирование << На главную или назад  

Подскажите пожалуйста книги, в которых можно узнать о правильной организации кода при написании большых приложений, игр, библиотек и т. п.
Прочел "Библиотеку программиста С++" Джефа Элджера, он писал про грани и кристалы, которые используються в СОМ. Хочеться больше узнать какими шаблонами и приемами пользуються опытные ребята. Спасибо.

41 ответов в теме “Проектирование”

  1. 14
    Валерий Мелешкин ответил:

    С неё начинать надо. Вообще лучше не сами паттерны изучать, а software engineering.

  2. 13
    Евгений кросовкин ответил:

    А при изучении паттернов книга банды четырех самое то?

  3. 12
    Жека Кирпичев ответил:

    Я себе не противоречу. То, что сейчас, по размышлении над задачей, мне известен хороший способ ее решения, не означает, что он был мне известен и ранее. Я посидел часик, подумал – и вот, теперь он мне известен.

    Но в общем, видимо, мы об одном и том же и говорим.

  4. 11
    Артем Никитин ответил:

    ты сам себе противоречишь: "Если какой-то из паттернов в принципе похож на мою задачу, НО МНЕ ИЗВЕСТЕН более короткий, читаемый, эффективный, корректный способ ее решить, то я не буду использовать паттерн…" Опять же ты будешь использовать что-то уже готовое. Ты наверное просто меня не правильно понял. Моя мысль не в том что паттерны – это панацея, это конечно не так, а в том что если есть готовые решения то их нужно использовать. Конечно не все задачи решены, но если есть возможность, то карты в руки. Да и понятие паттернов у тебя какое то странное, паттерны не решают какие-то специальные задачи, а всего лишь демонстрируют как можно лучше оформить структуру того или иного участка программы, причем такие структуры встречаются в большинстве программ.

  5. 10
    Жека Кирпичев ответил:

    Артем, ты, кажется, забываешь, что паттерны решают *именно* те задачи, про которые написано в их описаниях в книге, и *именно* в объектно-ориентированных языках. Нет паттернов на все случаи жизни. Даже если бы они и были, то маловероятно, чтобы все они уместились в такой тоненькой книжке. GOF – не боги; они произвели отличную работу по систематизации многих архитектурных решений, часто встречающихся в программах на объектно-ориентированных языках, но не более того.

    > ты будешь их использовать, если хочешь чтобы код был сопровождаемым
    Это, очевидно, неверно.
    1) Если я хочу, чтобы код был сопровождаемым, но ни один из описанных в книге паттернов не решает мою задачу, то я не буду использовать паттерны, несмотря на то, что хочу, чтобы код был сопровождаемым.
    2) Если какой-то из паттернов в принципе похож на мою задачу, но мне известен более короткий, читаемый, эффективный, корректный способ ее решить, то я не буду использовать паттерн, т.к. из-за его использования код станет менее сопровождаемым.

    Например, вот тебе задача: спроектировать библиотеку для анализа временнЫх рядов. Например, для поиска следов роботов в логах веб-сервера. Расскажи, какие паттерны ты тут применишь, какие тут "готовые решения"?

  6. 9
    Артем Никитин ответил:

    #8 > Там же написано было "все что мы используем". Как мы можем использовать то что еще не придумано. Другое дело придумать это сейчас, или же использовать уже что-то готовое, сделанное еще до нас. Так же и с паттернами, волей неволей ты будешь их использовать, если хочешь чтобы код был сопровождаемым. Так что лучше? Изобретать эти паттерны заново или посмотреть уже готовые решения.

  7. 8
    Валерий Мелешкин ответил:

    Таки да, Макконел и Gang of Four

  8. 7
    Жека Кирпичев ответил:

    Артем, твоё заявление о том, что всё уже придумано – абсурдно без указания, что ты подразумеваешь под словом "всё".

  9. 6
    Артем Никитин ответил:

    >>Не придавай паттернам большого значения – это не >>"правильные способы проектирования", а всего лишь >>*терминология*, обозначающая некоторые *часто >>встречающиеся* способы проектирования.
    Жжоте товарищ. Вообще то все что мы используем имеет свою терминологию, все уже придумано, как и паттерны. Незачем изобретать велоипед.

  10. 5
    Леонид Розенблюм ответил:

    "Совершенный код" Макконнела – эта книга серьезно поможет.

  11. 4
    Юрий Пискунов ответил:

    +1, и очень часто что ты используешь приёмы, которые потом оказываются "паттернами"…рано или поздно в любой конторе доходят до них – иногда (как в нашем случае) сами того и не подозревая..:)

  12. 3
    Юрий Пискунов ответил:

    но в общем-то если знать их и уметь использовать – это конечно +

  13. 2
    Жека Кирпичев ответил:

    Не придавай паттернам большого значения – это не "правильные способы проектирования", а всего лишь *терминология*, обозначающая некоторые *часто встречающиеся* способы проектирования.

  14. 1
    Артем Никитин ответил:

    Ищи книги где описываются шаблоны проектирования – так называемые паттерны и рефакторинг. Из них можно подчерпнуть много полезного. В инете куча статей, электронных книг. Также изучай грамотно написанные программы с открытым кодом.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.