AFD Data Driven Architectures Денис А. Малых iLLi Studio.

Презентация:



Advertisements
Похожие презентации
OpenGL Лекция 4 ( ). void glVertexPointer( GLint size, GLenum type, GLsizei stride, void *ptr ) size определяет число координат вершины (2, 3,
Advertisements

Организация программного кода при создании информационных систем Подготовил: Студент группы МЭК-21 Акименко В. И. Руководитель: Доц. Яровенко А. Н.
Links: This presentation is made by the students of 10 th form, school # 30 Chita, This presentation is made by the.
Data Driven Game Engine Юрий Блажевич. Data driven game engine Юрий Блажевич Вступление Форматы данных Дуализм представления данных Пользовательский интерфейс.
Фильтрация текстур. Пиксельные операции. Астана 2004 Лекция 11.
ОБРАБОТКА ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ АППАРАТНОГО УСКОРИТЕЛЯ ГРАФИКИ Разработчики: Дейнега В.М. Малых Д.А. Круглов В.Н.
Архитектура ПС. Классические архитектуры Централизованная архитектура; Архитектура "файл-сервер"; Двухзвенная архитектура "клиент-сервер"; Многозвенная.
Разработка бизнес- приложений с использованием СПО Хомченко В.М. Новый подход к разработке бизнес-приложений на базе систем управления бизнес-процессами.
Генерация скрипта создания базы данных с учетом зависимостей Автор : Максим Масунов, 545 группа Санкт - Петербургский государственный университет Математико.
Первый опыт внедрения WPF в сложной системе (С++ и COM) Михаил Павлов Transas.
D7: проектирование и реализация нового модуля «Диск» Алексей Кирсанов Ведущий программист «1С-Битрикс»
Инструменты Visual Studio для контроля качества и безопасности кода MSSD-3 Александр Яковлев, Microsoft.
Тема работы Архитектура игровых движков. Компьютерные игры Популярный вид развлечения среди широкой категории людей Появились в середине 40-х годов 20-го.
Введение Vlad Taranov
OpenGL и Direct3D сравнение стандартов Выполнил: Пенкин А. Группа И-204.
Куриленко Иван Евгеньевич, к.т.н. сфера научных исследований.
OpenClient и С# для переноса GUI в.NET(WPF) Эволюция desktop-интерфейса Progress V6 ChUI 1993 Progress V7.0- V7.3 Windows Progress V8,9 Windows.
Интеграция «1С:Предприятие 8» с другими системами ЗАО "МиСофт НВП" , г.Минск, ул.Шафарнянская, 11, офис 31. тел. (017)
Рефакторинг Забота о коде Андрей Скляревский.NET Developer, Murano Software
8/13/2012dotSITE - XP and MSF development in.NET1 Проектирование и создание приложений на базе Visual Studio.NET Andrew Filev Team leader dotSITE Ltd.Co.
Транксрипт:

AFD Data Driven Architectures Денис А. Малых iLLi Studio

Денис А. Малых, iLLi Studios2 Who is who? 1. Денис А. Малых. Разработчик систем искусственного интеллекта и игровой логики ООО «Айс Хилл». Руководитель проекта iLLi Studio.

Денис А. Малых, iLLi Studios3 Present time architectures Functional glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(-3.0f, 3.0f, -3.0f, 3.0f); glDisable(GL_LIGHTING); glColor3f(0.0f, 0.0f, 1.0f); glBegin(GL_LINES); glVertex2f(-1.0f, 1.0f); glVertex2f(1.0f, 1.0f); glEnd(); glFlush();

Денис А. Малых, iLLi Studios4 Present time architectures Object-Oriented irr::SIrrlichtCreationParameters v_stParams; v_stParams.WindowId = hWnd; v_stParams.DriverType = irr::video::EDT_DIRECT3D9; v_pDevice = irr::createDeviceEx( v_stParams ); v_pSMgr = v_pDevice->getSceneManager( ); v_pDriver = v_pDevice->getVideoDriver( ); irr::scene::ICameraSceneNode* v_pCam; v_pCam = v_pSMgr->addCameraSceneNode( ); v_pCam->setTarget( illi::st_Vector3f( 0.0f, 0.0f, 0.0f ) ); irr::scene::ISceneNodeAnimator* v_pAnim; v_pAnim = v_pSMgr->createFlyCircleAnimator( illi::st_Vector3f( 0.0f, 15.0f, 0.0f ), 30.0f ); v_pCam->addAnimator( v_pAnim ); v_pAnim->drop( ); irr::scene::ISceneNode* v_pCube; v_pCube = v_pSMgr->addCubeSceneNode( 20 ); v_pCube->setMaterialFlag( irr::video::EMF_LIGHTING, false );

Денис А. Малых, iLLi Studios5 But! Проблемы всех существующих архитектур Создавая архитектуру приложения – они совсем не учитывают данные. Возникает проблема «магических чисел» и «hard-coded включений» Для новых данных требуется переписывать код Сложность поддержки

Денис А. Малых, iLLi Studios6 Solution! Для решение проблемы требуется вынести данные из системы и писать код так, чтобы он не знал, какие данные он обрабатывает.

Денис А. Малых, iLLi Studios7 Conclusion В результате использования архитектуры DataDriven получаем следующее Данные учитываются в той мере, в которой необходимо, однако пишется дано-независимый код Все «магические числа» и «hard-coded включения» выносятся в файл данных, где их всегда можно поправить без привлечения программистов Новые данные добавляются без привлечения программиста -> ускорение работы Используя DDA вместе с OOA получаем гибкую масштабируемую архитектуру приложений (DDA – DataDriven Architecture, OOA – Object- Oriented Architecture) Возможно параллельная работа над проектом – программисты пишут код, дизайнеры пользуют хранилище данных для выполнения своих задач. Повышается контроль над приложение

Денис А. Малых, iLLi Studios8 Thanks for Your Attention! Any questions?