parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

KLeN 16.11.2007 00:36

ну вообще лично у меня никогда не возникало прецедентов с именем класса, описанных выше.

Но что-то подобное я использую в неком подобии ORM системы на парсере.
класс объекта
...
@GET_typeName[]
$result[User]

@GET_mapper[]
$result[^Mapper:create[$self._hMapperParams]]
...

класс маппера
@create[h]
^if(!def $self._hMapper.[$caller.typeName]){
	$h.object[$caller.CLASS]
	$self._hMapper.[$caller.typeName][^Mapper::new[$h]]
}
$result[$self._hMapper.[$caller.typeName]]
...
@getMappingObject[h][result]
^if(!def $self.map.[$h.id]){
	$self.map.[$h.id][^self.hParams.object.create[$h]]
}
$result[$self.map.[$h.id]]
...
Работа маппера заключена в частности и в возвращении из базы объектов определенного типа и таким образом созданный маппер сразу получает информацию о классе возвращаемых объектов, не зная имени этого класса.

А фабрика мне никогда и не нужна была собссно :) Но конкретно ваше предложение вполне к месту.