Важность шаблона дизайна? - PullRequest
3 голосов
/ 31 мая 2011

я изучаю C ++ Я мало что знаю об этом, за исключением того факта, что шаблон проектирования программирования необходим при реальной работе в больших проектах. Надеюсь, он в какой-то степени верен.

Является ли это общим для всех объектно-ориентированных языков или мне нужно специально изучить Шаблоны проектирования C ++.

Также, как это помогает вам. Это действительно важно, чтобы учиться на C ++ программиста.

Пожалуйста, предложите

Ответы [ 6 ]

5 голосов
/ 31 мая 2011

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

2 голосов
/ 31 мая 2011

В сообществе программистов вы услышите мнение о шаблонах проектирования.

По моему мнению, есть уверенность, что есть абстракции, которые инкапсулируют шаблоны, которые действительно полезны (фабрика, синглтон, делегат и т. Д.). Я часто использую паттерны, но иногда меня озадачивает очевидная нехватка глубины или уровня понимания, которое вы получаете, читая описание паттерна. Это также соответствует распространению шаблонов дизайна, которые специализируются на любых вещах.

Когда дизайн эй полезен, он является очень хорошим средством коммуникации и, конечно, он поможет вам в процессе проектирования или определения архитектуры вашего приложения. Они полезны как для небольших проектов, так и для крупных, и их можно применять на разных уровнях детализации.

Паттеры - это общая концепция, и все языки программирования поддерживают их. В любом случае, если вы работаете в C ++, лучше всего сосредоточиться на книге, потому что вы получите шаблон, адаптированный к характеристикам языка.

На мой взгляд, действительно фундаментальная книга о шаблонах проектирования:

GoF, Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения

VV.AA., Архитектура программного обеспечения на основе шаблонов Том 1: Система шаблонов

VV.AA., Архитектура программного обеспечения на основе шаблонов Том 2: Шаблоны для параллельных и сетевых объектов

1 голос
/ 31 мая 2011

Я рассматриваю шаблоны проектирования как набор мудрости, накопленный опытом, особенно в решении вопросов гибкости и удобства сопровождения кода. Например: используя фасад, мы можем изменять реализации, не изменяя код, который использует фасад.

Я думаю, что было бы справедливо сказать, что все языки программирования должны быть запечатлены, и какие-то шаблоны проектирования будут полезны. Языки наследия C / C ++ / Java / C #, кажется, предлагают особенно богатые, похоже, добытые для мудрости. C ++, будучи довольно грубым, действительно выигрывает от некоторых ключевых шаблонов проектирования.

Некоторые люди видят Шаблоны проектирования как способ исправления языковых недостатков, что подразумевает, что для «лучших» языков может потребоваться меньше шаблонов. Я чувствую, что во всех случаях у нас есть чему поучиться у опытных людей, и Шаблоны помогают нам систематизировать их мудрость.

Отредактировано, чтобы добавить: Интересный момент, сделанный Munish, лучше сначала сделать небольшое переосмысление? Написав какой-то реальный код без явного использования шаблонов, вы вполне можете почувствовать неудовлетворенность тем, что вы пишете ... когда я изменяю это, мне нужно все это менять, есть ли лучший способ написать это? ... это может привести вас к действительно нужным схемам и, следовательно, мотивировать ваше обучение.

Если у вас есть время учиться таким образом, то я думаю, что вы, вероятно, выиграете.

1 голос
/ 31 мая 2011

Для меня шаблоны проектирования - это не что иное, как абстракции, которые сокращают время общения между программистами. Вместо того, чтобы выражать сложное представление о том, как разработана ваша программа, вы, вероятно, можете найти название шаблона, который описывает дизайн вашей программы.

например. TPM говорит: «Мы должны использовать синглтон здесь», а вы интерпретируете «Мы должны использовать один экземпляр класса здесь».

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

1 голос
/ 31 мая 2011

Большинство шаблонов проектирования являются общими для всех объектно-ориентированных языков.

0 голосов
/ 31 мая 2011

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

Они обеспечивают удобство использования в разработке программного обеспечения. Проще говоря, шаблоны проектирования помогите дизайнеру быстрее получить дизайн .

Для лучшего понимания вы можете обратиться к Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...