Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Загрузка по требованию и DataMapper / 1 сообщений из 1, страница 1 из 1
17.03.2008, 15:31
    #35195621
sitn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка по требованию и DataMapper
Имеются классы:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
public class BusinessClass
    {

        private Type1 _type1Object;
        public Type1 Type1Object
        {
            get
            {                
                return _type1Object;
            }
        }

        private List<Type2> _type2List;
        public List<Type2> Type2List
        {
            get
            {
                return _type2List;
            }
        }
    }

    public static class Type1Mapper
    {
        public static Type1 Get(int ID) 
        {
            ...
        }

        public static void Save(Type1 obj)
        {
            ...
        }
    }

    public static class Type2Mapper
    {
        ...
    }


поля Type1Object и Type2List класса BusinessClass требуется сделать загружаемыми по требованию.

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
public Type1 Type1Object
        {
            get
            {  
		if (_type1Object == null _type1Object = Type1Mapper.Get(ID))              
                return _type1Object;
            }
        }

либо сам класс Type1 сделать что-то типа фиктивного объекта, разрешив его инициализацию по ID, с последующей загрузкой всего остального при обращению к одному из его полей, что тоже не фонтан. Может еще какие варианты есть ?

2) поле Type2List (является коллекцией объектов относящихся к текущему экземпляру BusinessObject) в любом случае требует отдельного запроса к БД, но где разместить метод поиска GetType2List(int businessObjectID) - вроде как в самом классе BusinessClass он явно не к месту, но и в классе Type2 он тоже как-то выглядит подозрительно
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Загрузка по требованию и DataMapper / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]