Паттерны проектирования

    Здравствуй хаброчеловек!

    Так уж случилось, что с этого семестра в своем вузе я записался на спецкурс по паттернам проектирования. Курс проходит в виде семинаров, на которых ты (студент) должен рассказать чему научился за неделю (имеется ввиду, какие паттерны изучил и применил на практике).

    В свою очередь, я решил писать на хабре посты про изученные паттерны. Ссылки на эти посты можно увидеть ниже.

    Структурные паттерны проектирования классов/объектов



    Паттерны проектирования поведения классов/объектов



    Порождающие паттерны проектирования


    • Одиночка (Singleton)
    • Абстрактная фабрика (Abstract Factory)
    • Строитель (Builder)
    • Создатель экземпляров класса (Creator)
    • Фабричный метод (Factory Method) или виртуальный конструктор (Virtual Constructor)
    • Прототип (Prototype)

    Антипаттерны


    Паттерны параллельного программирования


    Поделиться публикацией

    Похожие публикации

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

    • НЛО прилетело и опубликовало эту надпись здесь
        –4
        +1
          +3
          если это будет не просто переписка лекций и учебников — то четырьмя лапами за!
            +1
            Учебников и лекций как таковых нет. Есть пара хороших книг — Гамма, Бином, которые нам рекомендовал преподаватель и не более того. Все, что я планирую писать — это мое собственное понимание проблем и пути их решений на основании шаблонов. К тому-же практические примеры — выдумка самого студента. Я постараюсь быть оригинальным :)
            • НЛО прилетело и опубликовало эту надпись здесь
                0
                ещё просто отличная книжка Head First Design Patterns.
                с картинками и озорная, что ничуть не портит содержания.

                oreilly.com/catalog/9780596007126/
              0
              2 семестра на паттерны? Что вы с ними будете так долго делать? вам их на каждую неделю и на семестр не хватит :)
                0
                Сейчас в пост добавлю подробное расписание курса, а следовательно и темы будущих постов :)
                +2
                обязательно. особенно если доступным языком с массой примеров.
                а для затравки можно было уже и опубликовать один.
                  0
                  Безусловно все будет :) Но сначала, я хотел написать про классификацию паттернов, а уже потом про конкретных представителей.
                  –1
                  "+1" надо ставить статье.

                  Тема интересная. Главное рассказать интересно!
                    0
                    Да, интересно!
                      0
                      > Приспособленец (Flyweight)
                      ближе по смыслу, наверно, «легковесный».

                      > Посредник (Mediator)
                      Proxy скорее посредник. Медиатор скорее «распределитель»

                      Придрался к переводу, потому что иногда не понятно, что человек имеет ввиду.
                      Как то раз услышал от студента про «стража включения». Думал, что то новое, а это просто конструкция в Си:
                      #ifndef _HEADER_
                      #define _HEADER_

                      #endif

                      ИМХО, некотоыре вещи лучше не переводить, что бы не создавать барьеров в общении.
                        +1
                        Proxy, если я не ошибаюсь, называют ещё Ambassador (то есть «посол»), поэтому его перевод как «заместитель» мне очень даже нравится. Равно как и «страж включения» вместо «include guard». И вообще русский язык богаче английского. Лучше все вещи переводить, чтобы не создавать барьеров в общении (между владеющими английским и не владеющими).

                        И, кстати, это Вам минус, если Вы не смогли понять, что имеется в виду под «стражами включения».

                        P.S. Единственное, что вызывает у меня некую неуверенность, это Flyweight.
                          0
                          А вы народ не путайте, названия классические, из «банды четырех». Proxy это заместитель, потому что он вызывается _вместо_ того объекта, который он замещает. Mediator же обычно посредник между группой объектов, которым он требуется для общения, поэтому путаница с Proxy здесь будет очень некстати.
                          +1
                          Пускай будет, полезно. Я, кстати, сейчас преподаю курс в ЯрГУ по паттернам, может интересными примерами поделитесь, будет и мне что рассказать :)

                          По поводу литературы — есть классика «Банда четырёх» с их книжкой про паттерны.
                          Так же мне очень нравится — Design Patterns от www.dofactory.com, ориентированно на .NET
                            0
                            Почитайте тут ooad.asf.ru/Patterns.aspx
                              0
                                0
                                Будет интересно, если подкрепите практическими примерами.
                                  0
                                  Всё нужно.

                                  sourcemaking.com/
                                    0
                                    Пишите. Особенно интересно почитать про шаблоны параллельного программирования.
                                      +1
                                      А кто ведёт курс, если не секрет? Дело в том, что сам веду аналогичный спецкурс (в другом вузе), поэтому очень интересно было бы поделиться опытом, т.к. программу своего курса полностью изобретал сам (по большей части — толкование GoF'а).
                                        0
                                        Курс ведет профессор с нашей кафедры Прикладной математики. Я более чем уверен, что она тоже самостоятельно составляла программу. Причем скорее всего, по той же самой книге. Если нужна более конкретная информация о преподавателе, пиши в личку.
                                        –1
                                        Думаю про паттерны параллельного программирования было бы интересно. Желательно с примерами на OpenMP и Intel TBB :)
                                          0
                                          Не могли бы вы добавить в ваш славный список и этот, заслуживающий на мой взгляд внимания, паттерн «Dependency injection»?
                                            –1
                                            На мой взгляд проще открыть хорошую книжку и почитать, например, «Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес Приемы объектно-ориентированного проектирования. Паттерны проектирования», «Мартин Фаулер Архитектура корпоративных программных приложений» и т.д.
                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                0
                                                Ваш труд неоценим. И хотелось бы увидеть продолжение.
                                                  0
                                                  Спасибо! Продолжение обязательно будет, как только я разгребу дела на работе (уже очень скоро). Материалу накопилось достаточно, осталось только его оформить. Ждите :)

                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                Самое читаемое