Re: Связка BusinessObject - Mapper - Gateway
От: ivb22  
Дата: 09.02.07 12:15
Оценка:
Здравствуйте, sLMoloch.

Вам видимо надо применить разновидность фаулеровского паттерна Identity Map.
Суть его состоит в том, чтобы хранить соответствие между DomainObject и DataRow внутри маппера в виде коллекции.

примерно вот так (набросок, чтобы понять идею):

    public abstract class MappingObject
    {
        protected IDictionary<Key, ModelObject> MappedObjects = new Dictionary<Key, ModelObject>();
        protected IDictionary<Key, DataRow> ObjectRows = new Dictionary<Key, DataRow>();

        protected ModelObject Find(Key key)
        {
            //TODO: сначала поищем в MappedObjects
        }
        protected void Save(ModelObject modelObject)
        {
            DataRow objectRow = ObjectRows[modelObject.key];
            //TODO
        }


тогда ссылку на DataRow внутри BO можно сделать protected
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.