On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Пост N: 2
Зарегистрирован: 02.11.06
Откуда: Россия, Москва, Зеленоград
Рейтинг: 0
ссылка на сообщение  Отправлено: 15.05.07 21:25. Заголовок: Паттерны проектирования


Вопрос, возможно, глупый. Но ответьте, пожалуйста: какие паттерны проектирования чеща всего применяются и в каких ситуациях именно в играх? И какие паттерны вообще можно (или даже лучше) не применять. Не надо отвечать по всем паттернам, просто приведите несколько примеров.
ЗЫ: Почему бы вам не попробовать перевести книги по проектированию движка игры? Алгоритмы, графика и тд можно изучить и самому, а вот понять архитектуру приложения достаточно сложно. В книге «Программирование ролевых игр с DirectX (2-е издание)» есть что-то похожее, но далекое от идеала (как мне кажется).
Если я что-то неправильно сказал, поправьте меня)

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 6 [только новые]


администратор




Пост N: 114
Зарегистрирован: 01.11.06
Откуда: Москва
Рейтинг: 0
ссылка на сообщение  Отправлено: 16.05.07 11:09. Заголовок: Re:


Mystic пишет:

 цитата:
какие паттерны проектирования чеща всего применяются



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

Mystic пишет:

 цитата:
Почему бы вам не попробовать перевести книги по проектированию движка игры?



Порекомендуйте какие-нибудь книги.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 3
Зарегистрирован: 02.11.06
Откуда: Россия, Москва, Зеленоград
Рейтинг: 0
ссылка на сообщение  Отправлено: 16.05.07 18:02. Заголовок: Re:


netlib пишет:

 цитата:
Порекомендуйте какие-нибудь книги


К сожалению, не знаю о таких книгах. Если бы знал, смог бы сам перевести (как мне кажется, там вряд ли труднее мсдн).
netlib пишет:

 цитата:
Слишком общий вопрос. В двух словах на него не ответишь.


Ладно, попробую в будущем как-нить конкретизировать вопрос.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 116
Зарегистрирован: 01.11.06
Откуда: Москва
Рейтинг: 0
ссылка на сообщение  Отправлено: 17.05.07 16:17. Заголовок: Re:


Попробую помочь вам конкретизировать вопрос.

Скажу сразу, что под паттернами проектирования я понимаю способы решения типовых задач, возникающих в объектно-ориентированном программировании. Если вы подразумеваете что-то другое, то напишите мнечто именно.

Ну и далее список паттернов:

Абстрактная фабрика Abstract Factory
Строитель Builder
Фабричный метод Factory Method
Прототип Prototype
Одиночка Singleton
Адаптер Adapter
Мост Bridge
Композиция Composite
Оформитель Decorator
Фасад Facade
Маховик Flyweight
Заместитель Proxy
Цепочка ответов Chain of Response
Команда Command
Интерпретатор Interpreter
Итератор Iterator
Посредник Mediator
Напоминание Memento
Наблюдатель Observer
Состояние State
Стратегия Strategy
Шаблон метода Template Method
Посетитель Visitor

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

Кстати, я вполне допускаю, что данный список паттернов не полный, добавьте туда свои .


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 4
Зарегистрирован: 02.11.06
Откуда: Россия, Москва, Зеленоград
Рейтинг: 0
ссылка на сообщение  Отправлено: 17.05.07 21:14. Заголовок: Re:


Конечно, этот список не полный, но это все (вроде бы) наиболее общие паттерны.
Организацию шаблонов я знаю и знаю как их применить, но вот не знаю только, где их надо применять. Слишком уж их много и какой выбрать для некоторой ситуации - непонятно. В качестве примера (просто для конкретики) можно рассмотеть что-нить вроде надстройки над винапи. Допустим, такие объекты, как иконки, битмапы и курсоры. Можно для каждого из них создать класс. Можно сделать некий абстрактный класс GDIObject, и от него породить эти три класса (этот вариант мне кажется лучше). А вот что лучше сделать с точки зрения паттернов (прежде всего для гибкости программы и ее расширяемости)?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 118
Зарегистрирован: 01.11.06
Откуда: Москва
Рейтинг: 0
ссылка на сообщение  Отправлено: 17.05.07 21:50. Заголовок: Re:


Mystic пишет:

 цитата:
прежде всего для гибкости программы и ее расширяемости



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

Mystic пишет:

 цитата:
Допустим, такие объекты, как иконки, битмапы и курсоры. Можно для каждого из них создать класс. Можно сделать некий абстрактный класс GDIObject, и от него породить эти три класса



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

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 4
Зарегистрирован: 23.06.07
Рейтинг: 0
ссылка на сообщение  Отправлено: 03.08.07 16:00. Заголовок: Re:


Есть 2-3 изданные в России книги по паттернам проектирования. http://bolero.ru

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 3
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет