Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/102: Рейтинг темы: голосов - 102, средняя оценка - 4.62
9 / 9 / 0
Регистрация: 27.01.2013
Сообщений: 248

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

12.07.2013, 23:50. Показов 19166. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, скажите пожалуйста, что есть такое паттерны проектирования???
Поначалу я думал, что это способ написания кода, то есть каким образом давать имена переменным или, например, каким образом расписывать последовательность методов в классе.
Но когда я начал их более углубленно читать, то понял, что все это не то.
Скажите пожалуйста на пальцах чайнику, что это все таки такое??? Только не отправляйте в гугл ибо я там посмотрел уже и все либо друг у друга передрано либо написано так, что я еще больше путаюсь.
Всем спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.07.2013, 23:50
Ответы с готовыми решениями:

Какие паттерны проектирования для C# являются "основными"
Добрый вечер. Подскажите пожалуйста, какие паттерны проектирования для c# являются "основными"?

Структурные паттерны
Добрый день! Подскажите пожалуйста относительно такой задачи: Определить классы для представления дерева разбора сложного арифметического...

Порождающие паттерны
Здравствуйте Теории по паттернам полно а вот реальных практических примеров найти трудно . Не сочтите за труд скиньте ссылку или какую...

10
Футболист
 Аватар для Goal
533 / 435 / 142
Регистрация: 31.10.2011
Сообщений: 1,010
13.07.2013, 00:13
по сути это хороший пример решения определенной задачи.
я считаю, что программист, которые знает паттерны, пишет более-менее вменяемый код
2
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.07.2013, 04:25
Иногда достаточно использовать поиск
Цитата Сообщение от Psilon Посмотреть сообщение
bazyzy, паттерн - это устоявшееся хорошее решение. Пример паттернов в автотранспорте: колеса у машины должны быть круглыми, а не квадратными, треугольными или какими бы то ни было еще. Паттерн авиастроения - самолет должен быть из фанеры или аллюминия, а не чугуна, тогда он легко взлетит. Паттерн медицинский: перед операцией лучше вымыть руки, тогда пациент (скорее всего) не умрет. Паттерн архитектурный: дом лучше строить на фундаменте, а не на голой земле, тогда он не будет падать.

Ну и так далее. Одним словом: паттерн - образец, то, как следует делать...
Отсюда же следует антипаттер: как не следует делать. Пример - GodObject. Например, халявить весь семестр и завалить экзамен - это антипаттерн, однако все студенты так делают. В этом суть антипаттернов: "Это плохо, но все так делают".
Особенно когда я отвечал тебе же
1
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
13.07.2013, 17:02
bazyzy, Забей. Единственный, имхо, способ понять паттерны писать много, очень много кода. И еще больше кода читать, плохого, хорошего не важно, главное много.

Рано или поздно понимание придет. Изучение теории не даст ничего. Ибо в каждом конкретном случае паттерн может быть реализован по своему и каждый источник приводит свои примеры, что еще больше запутывает желающего разобраться.
2
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.07.2013, 17:12
bazyzy, http://habrahabr.ru/post/59005/

Добавлено через 1 минуту
А вот немного о том, что паттерны иногда бывают вредны:
http://habrahabr.ru/post/153225/

Конечно, в данном конкретном примере можно было бы сделать нормально (по последней ссылке в статье это видно), но в целом аналог "много хорошо - тоже плохо" для мира программистов "много ненужных паттернов - тоже антипаттерн".
0
 Аватар для Heidel
115 / 115 / 39
Регистрация: 11.10.2011
Сообщений: 649
15.07.2013, 12:06
Паттерны проектирования
0
5 / 5 / 3
Регистрация: 04.01.2016
Сообщений: 99
01.02.2016, 20:27
простите за тупейший вопрос. но я так и не смог разобраться.
А где и как паттернами можно воспользоваться то?
0
 Аватар для Alchi09
206 / 135 / 6
Регистрация: 15.11.2009
Сообщений: 1,654
01.02.2016, 21:22
cancoder, ужасный пример, но все же...
Тебе нужно сложить 2 числа
int x=2;
int y=3;
, ты просто берешь и делаешь
int result = x + y;
, считай что int result = x + y; это и есть паттерн(образец) того как нужно складывать 2 числа.

Заметь, ты ничего не начинаешь выдумывать, по типу

for (int i =0 ; i<=y; i++)
{
x ++;
}
int result = x;
1
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
02.02.2016, 16:07
Цитата Сообщение от cancoder Посмотреть сообщение
А где и как паттернами можно воспользоваться то?
Так же и там, для чего они были созданы.
0
5 / 5 / 3
Регистрация: 04.01.2016
Сообщений: 99
02.02.2016, 21:38
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Так же и там, для чего они были созданы.
не могу уловить тонкой логики вашего ответа.
то, что вы написали ассоциируется у меня с чем то в роде...: "ты позвонил мне от того что я проснулся, завтра"

Добавлено через 3 минуты
Цитата Сообщение от Alchi09 Посмотреть сообщение
ужасный пример, но все же...
спасибо.
просто я видел в где то некие таблички которые можно удобно располагать в нужном порядке. и всё получается наглядно и удобно. это специальная программа какая-то? или встроенный модуль в с# ? я нигде ничего не нашел..
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
03.02.2016, 08:18
Цитата Сообщение от cancoder Посмотреть сообщение
не могу уловить тонкой логики вашего ответа
Конкретный паттерн решает конкретную задачу. Если вам нужно решить такую же задачу, то уместно использовать паттерн именно для этой задачи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.02.2016, 08:18
Помогаю со студенческими работами здесь

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

Паттерны? Многократное использование кода
У меня есть класс для работы с базами данных. В классе есть методы, которые отправляют разные запросы к БД. Методы имеют...

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

Блок-схема | Псевдокод | Паттерны | Код ?
Здравствуйте коллеги. Вопрос такой, когда нужно разработать приложение/макросы/модули, какие этапы подготовки нужно совершить перед тем,...

Паттерны, не до конца понимаю итератор и одиночку
Пожалуйста, помогите, никак не могу осилить паттерны, немного задачи с горем пополам сделала, а дальше ступор. Спасибо за любую помощь! ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru