Недавно команда Whistling Kite Framework выпустила в релиз очередную игру, на этот раз — Змейку, написанную на Unity3D. Как и в большинстве игровых проектов, при решении вопроса о том, насколько детально нужно проектировать приложение, критическим фактором было время. В нашем случае причина проста: т.к. разработка велась в свободное от основной работы время, то идеальный подход к проектированию отложил бы релиз ещё на год. Поэтому, составив первоначальное разделение на модули, мы закончили проектирование и приступили к разработке. Под катом описание того, что из этого получилось, а также пара уроков, которые я вынес для себя.

Осторожно, картинки!
Читать полностью »
Рубрика «architecture» - 9
Архитектура простой 2D игры на Unity3D. План, факт и работа над ошибками
2014-08-27 в 7:54, admin, рубрики: architecture, Gamedev, gamedevelopment, mobile development, UML, unity3d, игры, разработка игр, Разработка под androidВалидация UML модели API
2014-02-14 в 5:18, admin, рубрики: .net, architecture, UML, Visual Studio, метки: .net, architecture, UML, Visual StudioВ компании существует множество сервисов, которые объединены в общий Service Layer. Написаны они на разных технологиях и платформах, но все эти сервисы изначально должны проектироваться архитекторами, которые предварительно придумывают API, а затем проверяют соответствие их проекта и реализованной архитектуры.
Очевидно, что качество (понятность, единообразие, предсказуемость поведения и т.п.) зависит от опыта архитектора. Чем опытнее человек, тем больше у него обязанностей. Определив на бумаге (wiki) набор формальных правил для API, можно избавить проект (и самого архитектора) от части проблем, неточностей и неконсистентности.
Если API спроектирован в Visual Studio с помощью UML Сlass diagram, то можно добавить написанные на бумаге правила к валидации архитектуры в UML проекте.
Читать полностью »
API First архитектура или рассуждения на тему: толстый сервер против тонкого
2014-02-10 в 7:47, admin, рубрики: api, architecture, javascript, mvc, programming, web, Веб-разработка, Мобильный вебДоброго времени суток всем хабражителям. Меня зовут Илья Шакитько и я работаю в LeaseWeb, в команде, работающей над облачными сервисами. Решая очередную задачу, связанную с исследованием той или области, мы стараемся поделиться полученными знаниями или мыслями с сообществом. Не так давно мы проводили DevOps встречу в нашем офисе, где одним из выступающих был мой коллега, Мауритс ван дер Скхи, который рассказывал об API First архитектуре. Немногим ранее в нашем блоге он опубликовал статью, переводом которой я хотел бы поделиться с вами.
Введение
API First архитектура это архитектура, для которой API пользователь является основным пользователем приложения. Это означает, что этот API должен иметь наивысший приоритет, а не быть еще одним представлением (view) в парадигме MVC. Основное различие состоит в том, что API First требует наличия полного, адаптивного и хорошо документированного API. Это особенно важно в таргетировании: на мобильных платформах (приложения используют API), у реселлеров (слой представления использует API) и в многопродуктных средах с высокой интеграцией, но малой связанностью.
Читать полностью »
Масштабировать просто. Часть вторая — кэширование
2014-01-16 в 16:10, admin, рубрики: architecture, cache, java, scalability, Анализ и проектирование систем, архитектура, порталы, Программирование, метки: architecture, cache, java, scalability, архитектура, порталы, СОАВ предыдущей части мы говорили об основных архитектурных принципах построения масштабируемых порталов. Сегодня поговорим об оптимизации правильно построенного портала. Итак: первый вид оптимизации — локальный кэш.
Масштабировать просто
2014-01-15 в 14:53, admin, рубрики: architecture, java, nosql vs sql, Анализ и проектирование систем, архитектура, Программирование, метки: architecture, nosql vs sql, архитектура, СОА От B2C-порталов ожидается прежде всего масштабирование. К сожалению, масштабирование слишком часто объявляется вопросом Технологии — достаточно выбрать модную технологию и все проблемы решены. То, что это не так, может проявиться, позднее всего, уже в production mode (на рабочей системе).
Вместо того, чтобы махать технологической булавой, расскажу о том, как при помощи продуманной архитектуры и сознательного отказа от модели данных разработать высоко доступный (highly available), масштабируемый (scalable) портал. Первая часть опишет общие концепты, а возможные сценарии и их решения последуют.
Читать полностью »
Реализация ToDoMVC на Jiant
2013-04-14 в 13:01, admin, рубрики: architecture, javascript, jiant, Программирование, метки: architecture, javascript, jiantБлагодарю всех кто прочитал, отозвался и оценил первый пост!
Для демонстрации как работает идеология Jiant — реализовал ToDoMVC, проект, созданный для оценки различных MVC фреймворков. Jiant не MVC фреймворк, а скорее подход к разработке с набором вспомогательных инструментов. На разработку у меня ушло порядка 8 часов с учетом чтения и понимания спецификации, изучения референтной реализации, localStorage, с которым не имел дела (очень простая штука) ну и всего прочего. Не знаю много это или мало, но вот столько. Результаты лежат по адресу: github.com/vecnas/todomvc-jiant. В Chrome и Firefox работает прямо с файловой системы, в IE — с сервера.
Читать полностью »
Знакомимся с аспектно-ориентированным программированием в PHP
2013-02-25 в 18:27, admin, рубрики: aop, architecture, aspect oriented programming, php, Веб-разработка, Программирование, метки: aop, architecture, aspect oriented programming, PHP, ооп При разработке программного обеспечения программисты и архитекторы пользуются декомпозицией — представлением объектов и взаимосвязей между ними в виде классов, объектов, их свойств и методов.

Проводя декомпозицию, удается получить более точное представление объектов из реальной жизни в виде программного кода. Именно благодаря этому принципу, объектно-ориентированное программирование получило столь широкую популярность во всех языках программирования. Модель представления объектов реальной жизни в виде инстансов классов очень удобна: мы можем наделять класс набором методов и свойств, позволяя взаимодействовать с окружающей средой.
Читать полностью »
