Re[3]: где место бизнес логики: в коде или в хр. процедурах?
От: Gollum Россия  
Дата: 17.07.03 11:49
Оценка:
Здравствуйте, chico97, Вы писали:

Как автору этой ветки: вот, что пишет Microsoft в Implementing Sun's Java PetStore using Microsoft .Net


The Sun Java Pet Store makes heavy use of Bean Managed Persistence (BMP) in its middle-tier
Enterprise Java Beans (EJB). Essentially, this provides the objects a mechanism to persist their
state to the database. The .NET Pet Shop takes a different approach in that the middle-tier
components make calls to stored procedures in the database. Using stored procedures at the
database level is well established as a best-practice for distributed applications. It provides a
cleaner separation of code from the middle-tier and also helps clarify the transaction context and
scope.Only basic queries are encapsulated in the stored procedures; business logic remains in
the middle tier .NET classes.


Это я к тому, что сами по себе SP это круто, но логику в них держать не надо. Как будет время, нарою материалов для сомневающихся
... << RSDN@Home 1.1 beta 1 >>
Eugene Agafonov on the .NET

Re[3]: где место бизнес логики: в коде или в хр. процедурах?
От: mogadanez Чехия  
Дата: 17.07.03 12:07
Оценка:
Здравствуйте, chico97, Вы писали:

C>НЕВЕРЮ что такое могло MS сказать . DataReader — только там где ненадо кешировать, в других случаях с DataSet быстрее.


вот эта статья...
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpcondevelopinghigh-performanceaspnetapplications.asp

DataSet заполняется адаптером сначала считывая информацию в ридер, и полностью пробегает по нему.
... << RSDN@Home 1.0 beta 7a >>
Re[4]: где место бизнес логики: в коде или в хр. процедурах?
От: chico97  
Дата: 17.07.03 12:11
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>DataSet заполняется адаптером сначала считывая информацию в ридер, и полностью пробегает по нему.

но замечу делает это адаптер сам, специально создавать обьект ридер не нужно

за ссылку спасибо — прочитаю.
Re[5]: где место бизнес логики: в коде или в хр. процедурах?
От: mogadanez Чехия  
Дата: 17.07.03 12:23
Оценка:
Здравствуйте, chico97, Вы писали:

C>Здравствуйте, mogadanez, Вы писали:


M>>DataSet заполняется адаптером сначала считывая информацию в ридер, и полностью пробегает по нему.

C>но замечу делает это адаптер сам, специально создавать обьект ридер не нужно

Но это не значит что он не тратит на это время....
... << RSDN@Home 1.0 beta 7a >>
Re[6]: где место бизнес логики: в коде или в хр. процедурах?
От: chico97  
Дата: 17.07.03 12:28
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>Здравствуйте, chico97, Вы писали:


C>>Здравствуйте, mogadanez, Вы писали:


M>>>DataSet заполняется адаптером сначала считывая информацию в ридер, и полностью пробегает по нему.

C>>но замечу делает это адаптер сам, специально создавать обьект ридер не нужно

M>Но это не значит что он не тратит на это время....

да, но дело не в трате времени, а в предназначении.
позиционирование этих обектов очень четкое: кеширить — НЕкеширить
Re[7]: где место бизнес логики: в коде или в хр. процедурах?
От: Gollum Россия  
Дата: 17.07.03 12:36
Оценка: +1
Здравствуйте, chico97, Вы писали:

C>позиционирование этих обектов очень четкое: кеширить — НЕкеширить


Позиционирование этих объектов:

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

Датасет — тяжелый объект, однако при интенсивной работе с данными, где используются сложные запросы, и правильном проектировании может дать существенный выигрыш в производительности. Как бы "отсоединенная мини-БД" на сервере. Плюс, связку из датасет + датавью очень удобно использовать для датабайндинга к сложным интерфейсам.

Причем здесь кэширование???
... << RSDN@Home 1.1 beta 1 >>
Eugene Agafonov on the .NET

Re[7]: где место бизнес логики: в коде или в хр. процедурах?
От: mogadanez Чехия  
Дата: 17.07.03 12:37
Оценка:
Здравствуйте, chico97, Вы писали:

C>Здравствуйте, mogadanez, Вы писали:


M>>Здравствуйте, chico97, Вы писали:


C>>>Здравствуйте, mogadanez, Вы писали:


M>>>>DataSet заполняется адаптером сначала считывая информацию в ридер, и полностью пробегает по нему.

C>>>но замечу делает это адаптер сам, специально создавать обьект ридер не нужно

M>>Но это не значит что он не тратит на это время....

C>да, но дело не в трате времени, а в предназначении.
C>позиционирование этих обектов очень четкое: кеширить — НЕкеширить

что значит кешировать?
Это Веб приложение, тебе при каждом запросе пользователя нужно данные из базы поднимать, зачем их кешировать...
в Win клиенте понятно.
... << RSDN@Home 1.0 beta 7a >>
Re[8]: где место бизнес логики: в коде или в хр. процедурах?
От: chico97  
Дата: 17.07.03 12:44
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>что значит кешировать?

M>Это Веб приложение, тебе при каждом запросе пользователя нужно данные из базы поднимать, зачем их кешировать...

а зачем мне за справочниками постоянно в базу лазить?
M>в Win клиенте понятно.
Re[8]: где место бизнес логики: в коде или в хр. процедурах?
От: chico97  
Дата: 17.07.03 12:48
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, chico97, Вы писали:


C>>позиционирование этих обектов очень четкое: кеширить — НЕкеширить


G>Позиционирование этих объектов:


G>Датаридер — легкий и быстрый способ считать из базы какую-либо инфу, используется как правило при простых структурах базы и приложения. Предпочтительный способ доступа к БД для большинства простых приложений.


G>Датасет — тяжелый объект, однако при интенсивной работе с данными, где используются сложные запросы, и правильном проектировании может дать существенный выигрыш в производительности. Как бы "отсоединенная мини-БД" на сервере. Плюс, связку из датасет + датавью очень удобно использовать для датабайндинга к сложным интерфейсам.


G>Причем здесь кэширование???


после закрытия соединения как можно в DataReader хранить данные?
для этого отлично подходит DataTable.
именно это я и имел в виду.
Re[9]: где место бизнес логики: в коде или в хр. процедурах?
От: mogadanez Чехия  
Дата: 17.07.03 12:51
Оценка:
Здравствуйте, chico97, Вы писали:

C>Здравствуйте, mogadanez, Вы писали:


M>>что значит кешировать?

M>>Это Веб приложение, тебе при каждом запросе пользователя нужно данные из базы поднимать, зачем их кешировать...

C>а зачем мне за справочниками постоянно в базу лазить?


если информация грузится один раз, то ИМХО для производительности по барабану как и чем обрабатывать.
тогда уж удобнее грузить справочиники в IDictionary например.

=) ну у тебя же не только справочники в системе... а именно на наиболее загруженной части надо рассматривать проблему.
... << RSDN@Home 1.0 beta 7a >>
Re[9]: где место бизнес логики: в коде или в хр. процедурах?
От: Gollum Россия  
Дата: 17.07.03 12:53
Оценка:
Здравствуйте, chico97, Вы писали:

C>а зачем мне за справочниками постоянно в базу лазить?


Имеется в виду, что нужно либо каждый раз за ними лазить на БД, либо сохранять гденть еще, типа Session. Я думаю, что в большинстве случаев действительно, лучше слазить.
... << RSDN@Home 1.1 beta 1 >>
Eugene Agafonov on the .NET

Re[9]: где место бизнес логики: в коде или в хр. процедурах?
От: mogadanez Чехия  
Дата: 17.07.03 12:54
Оценка:
Здравствуйте, chico97, Вы писали:

C>Здравствуйте, Gollum, Вы писали:


G>>Здравствуйте, chico97, Вы писали:


C>>>позиционирование этих обектов очень четкое: кеширить — НЕкеширить


G>>Позиционирование этих объектов:


G>>Датаридер — легкий и быстрый способ считать из базы какую-либо инфу, используется как правило при простых структурах базы и приложения. Предпочтительный способ доступа к БД для большинства простых приложений.


G>>Датасет — тяжелый объект, однако при интенсивной работе с данными, где используются сложные запросы, и правильном проектировании может дать существенный выигрыш в производительности. Как бы "отсоединенная мини-БД" на сервере. Плюс, связку из датасет + датавью очень удобно использовать для датабайндинга к сложным интерфейсам.


G>>Причем здесь кэширование???


C>после закрытия соединения как можно в DataReader хранить данные?

C>для этого отлично подходит DataTable.
C>именно это я и имел в виду.

также для этого чудесно подойдут Собственные entity объекты и их коллекции, с которыми удобно работать.
... << RSDN@Home 1.0 beta 7a >>
Re[9]: где место бизнес логики: в коде или в хр. процедурах?
От: Gollum Россия  
Дата: 17.07.03 12:56
Оценка:
Здравствуйте, chico97, Вы писали:

C>после закрытия соединения как можно в DataReader хранить данные?

C>для этого отлично подходит DataTable.

Понял, только это не кэширование
Ну тут уже ты должен решить, нужно тебе хранить данные, или сразу пихнуть в интерфейс, например. Ну или почти сразу, через какую-нть простенькую логику.
... << RSDN@Home 1.1 beta 1 >>
Eugene Agafonov on the .NET

Re[10]: где место бизнес логики: в коде или в хр. процедурах
От: mogadanez Чехия  
Дата: 17.07.03 12:56
Оценка: +1
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, chico97, Вы писали:


C>>а зачем мне за справочниками постоянно в базу лазить?


G>Имеется в виду, что нужно либо каждый раз за ними лазить на БД, либо сохранять гденть еще, типа Session. Я думаю, что в большинстве случаев действительно, лучше слазить.


справочники действительно часто выносят, даже за границы ASP.NET процесса(у нас например WinService + Remoting), но они там как правило хранятся не в виде дата сета а в виде "Справочника"
... << RSDN@Home 1.0 beta 7a >>
Re[10]: где место бизнес логики: в коде или в хр. процедурах
От: chico97  
Дата: 17.07.03 13:09
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, chico97, Вы писали:


C>>после закрытия соединения как можно в DataReader хранить данные?

C>>для этого отлично подходит DataTable.

G>Понял, только это не кэширование

G>Ну тут уже ты должен решить, нужно тебе хранить данные, или сразу пихнуть в интерфейс, например. Ну или почти сразу, через какую-нть простенькую логику.

поинт в том что справочники я загружаю однажды, а обновляемые данные при запросе странички, потом связываю их.
а под кешированием я имею в виду: загрузил однажды — пользушь долго.
Re[11]: где место бизнес логики: в коде или в хр. процедурах
От: mogadanez Чехия  
Дата: 17.07.03 13:19
Оценка:
Здравствуйте, chico97, Вы писали:



C>поинт в том что справочники я загружаю однажды, а обновляемые данные при запросе странички, потом связываю их.

C>а под кешированием я имею в виду: загрузил однажды — пользушь долго.

Так какая разница как их грузить если это однажды?
... << RSDN@Home 1.0 beta 7a >>
Re: где место бизнес логики: в коде или в хр. процедурах?
От: Gollum Россия  
Дата: 17.07.03 13:19
Оценка:
Здравствуйте, chico97, Вы писали:

Долго читал вот эту статью, так и не понял прав я был, или нет... Скорее, видимо, нет, чем да :Р
Буду еще копать эту тему — тем более, что она весьма актуальна.
... << RSDN@Home 1.1 beta 1 >>
Eugene Agafonov on the .NET

Re[12]: где место бизнес логики: в коде или в хр. процедурах
От: chico97  
Дата: 17.07.03 13:25
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>Здравствуйте, chico97, Вы писали:




C>>поинт в том что справочники я загружаю однажды, а обновляемые данные при запросе странички, потом связываю их.

C>>а под кешированием я имею в виду: загрузил однажды — пользушь долго.

M>Так какая разница как их грузить если это однажды?

может разницы и нет, но затем их надо где-то хранить и зачем изобретать велосипед если есть такие прекрасные веши как DataTable, DataSet.
Может лучше сосредоточится на бизнес логике?
Re[13]: где место бизнес логики: в коде или в хр. процедурах
От: mogadanez Чехия  
Дата: 17.07.03 13:30
Оценка:
Здравствуйте, chico97, Вы писали:

C>Здравствуйте, mogadanez, Вы писали:


M>>Здравствуйте, chico97, Вы писали:


C>


C>>>поинт в том что справочники я загружаю однажды, а обновляемые данные при запросе странички, потом связываю их.

C>>>а под кешированием я имею в виду: загрузил однажды — пользушь долго.

M>>Так какая разница как их грузить если это однажды?

C>может разницы и нет, но затем их надо где-то хранить и зачем изобретать велосипед если есть такие прекрасные веши как DataTable, DataSet.
C>Может лучше сосредоточится на бизнес логике?

Это и есть логика... справочники ИМХО, удобнее хранить в такой замечательной вещи как HashTable.
... << RSDN@Home 1.0 beta 7a >>
Re[14]: где место бизнес логики: в коде или в хр. процедурах
От: IT Россия linq2db.com
Дата: 17.07.03 15:58
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>Это и есть логика... справочники ИМХО, удобнее хранить в такой замечательной вещи как HashTable.


При наличии ключа в DataTable поиск будет ни чем не хуже.
Если нам не помогут, то мы тоже никого не пощадим.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.