Показать сообщение отдельно
Старый 19.01.2012, 23:28
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 1  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
По умолчанию Redis-style model в as3

Вдохновился структурой такой субд как Redis, возникла идея. А почему бы не сделать в таком же виде модель приложения?

Код AS3:
package com.earwig.mvc.model 
{
	/**
	 * ...
	 * @author Dukobpa3
	 */
	public class BaseRedisModel 
	{
		//=============================
		//	PARAMETERS
		//=============================
		private var _data:Object;
 
		//=============================
		//	CONSTRUCTOR, INIT
		//=============================
		public function BaseRedisModel() 
		{
 
		}
 
		//=============================
		//	PUBLIC
		//=============================
		public function update(data:Object)
		{
			for (var key:String in data)
				_data[key] = data[key]
		}
 
		//=============================
		//	ACCESSORS
		//=============================
		public function getByKey(key:String):Object
		{
			return _data[key];
		}
 
		/**
		 * Дальше еще стопицот всяких геттеров дляразного рода нужд
		 * 
		 */
	}
 
}
Суть в том что есть некий словарь с большим кол-вом значений примерно такого вида:
Код AS3:
{'user:<user_id>:profile:location:<location_id>:building:<building_id>:isoX':12}
Всё это в виде списка, одноуровневое.

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

Теперь в чем сомнения.
Это всё однозначно удобно если точно знаешь какое значение тебе надо. А вот если нужен некий поиск чего-то то уже сложно.

И тут уже вопрос, имеет ли смысл эту идею вообще развивать во-первых.
А во вторых если да, то как искать в этих ключах при необходимости допустим получить:
Код AS3:
'user:<user_id>:profile:location'  // в виде массива например
Та и вообще как перемешаться по ключам быстро и удобно. Склоняюсь к регекспам. А вы что скажете?

Ну и в третьих производительность.
__________________
Кто к нам с чем для чего - тот у нас того от того.