Разработка подключаемой системы баллов и значков

Как мне разработать подключаемую систему очков и значков, которую легко включать и выключать, а также легко превратить в отдельный модуль?

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

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


person Preslav Rachev    schedule 23.03.2012    source источник


Ответы (1)


В качестве идеи, как насчет того, чтобы отделить, какие события бизнес-логики вам важны, от того, как вы их учитываете как баллы, значки, уровни для пользователя? Так что вы можете внедрить в одном месте сумасшедшие вещи, такие как значок Ball Buzz для покупки кофе по три понедельника подряд в течение футбольного сезона.

Концептуально подумайте о передаче сообщения обо всех потенциально интересных транзакциях и взаимодействиях в этот модуль Awards, который инкапсулирует (и скрывает от бухгалтеров) эту забавную функциональность.


После дальнейшего изучения SO было существенное обсуждение Уже по теме. Особо следует отметить «Лучший способ хранения критериев значка», охватывающий уведомление о событиях и » Архитектура базы данных для системы «Значок» с общей архитектурой обсуждение.

Обсуждались относительные достоинства реляционных и . nosql / Mongodb для такой функции, а также для разделения бизнес-логики на хранимые процедуры.

Мне кажется, что сейчас происходит много изобретений велосипеда. Кто-нибудь знает о фреймворках OSS или проектах Github, появляющихся в этой области? Кроме того, есть ли какие-нибудь полезные статьи или статьи по теме значков в частности и геймификации в целом?

person Walter K    schedule 23.03.2012
comment
Судя по всему, в наши дни существуют (коммерческие) API для геймификации, programmableweb.com/search/gamification Было сказано что BigDoor - крупный игрок. - person Walter K; 31.08.2012
comment
Дополнительные исследования - реализация OSS code.google.com/p/userinfuser - person Walter K; 19.09.2012
comment
Если вы увлекаетесь геймификацией, обязательно пройдите курс на Coursera, который, как вы уже догадались, называется Gamification :) - person Walter K; 19.09.2012