powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Iclude в NHibernate
110 сообщений из 110, показаны все 5 страниц
Iclude в NHibernate
    #37762207
besserebrenik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток

Работая с EF (c включенным lazyLoading), если я хотел получить n+1 сущность, то я использовал метод Include(string entityName) класса ObjectSet<Entity>

Например, чтобы сразу загрузить все категории и их статьи я писал что-то похожее на данный код (давно EF использовал)

return ObjectSet<Category>.Include("Post");

Недавно познакомился с NHibernate и пока не могу найти аналогичную возможность в данном ORM. Она должна быть, но наверно я неправильно ищу.

Подскажите, как выгружать n+1 сущность в nHibernate

Я пару недель назад, когда задавался этим вопросом, то пытался реализовать это следующим образом

Код: c#
1.
2.
3.
4.
5.
Session.CreateCriteria(typeof(Сategory))

    .SetFetchMode("Post", FetchMode.Eager)

    .List();



Но NHProfiler показал, что загружены только категории
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37762459
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
besserebrenik,

ICriteria - двоольно старый API. Если нет принципиальных возражений - используйте QueryOver:
Код: c#
1.
2.
3.
4.
currentSession
  .QueryOver<Сategory>()
  .Fetch(x => x.Post).Eager
  .List<Сategory>();
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37762465
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
besserebrenik,

А уже если не боитесь строк, то hql делает еще проще:
Код: c#
1.
session.CreateQuery("from Category c join fetch c.Post").List<Category>(); //Если надо -  добавить left к join
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37763314
besserebrenik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtor,
Спасибо за ответ, сегодня опробую в учебных примерах

Строк не боюсь, т.к. код в репозиториях будет спрятан - главное, чтобы работал подход :)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37763731
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
besserebrenik,

Репозиторий при наличии хорошей ORM - зло , зло , зло .
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37764846
besserebrenik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtor,

И снова спасибо за ответ!
Это правда уже оффтоп, но действительно я набил шишек на тех вещах, которые реально не дают пользы. Я очень долго пытался впихнуть презентеры в свой дипломный проект, но оказалось, что это абсолютно ненужная вещь, если доменная модель не аннемична (anemic domain model).
Rich Domain Model (не ошибся надеюсь в терминах), в которой инкапсулирована логика предметной области и соответственно тщательно протестирована, дополнительного слоя, для представления, не требует. Еще больше времени я убил на изучение паттерна Unit Of Work , который в большинстве реализаций был обычной оберткой над транзакцией и зачастую весьма сложной.

Но насчет репозиториев нужно подумать и возможно набить шишки самому.. Пока что один абстрактный репозиторий , и его реализации на каждый aggregation-root для меня это не так страшно.. Хотя это в идеале, обычно репозиториев больше.

За ссылки спасибо большое, очень интересно!
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765036
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
besserebrenik,

если позволите, еще пару советов напоследок:
1. Хорошая практика при использовании NHibernate - это рассматривать ISession как UnitOfWork. Все изменения в объектах, сделанные в рамках сессии будут автоматом сброшены в бд.
2. Rich Domain Model описывающая логику предметной области не всегда хорошо для непосредственно отображения. Поэтому частенько разрабатывают дополнительную модель, описывающую логику представления (это, что Фаулер ранее называл Presentation Model, а теперь более модно называть MVVM).
3. Презентеры вещь хорошая, но требует некоторого опыта и понимаю. В общем, для понимания, как строить UI очень советую осилить серию блогов от Jeremy D. Miller 'а.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765088
besserebrenik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtor,

Позвольте я объясню свое разочарование в MVP, (я с начала пытался сделать чистый MVP, но по ходу работы у меня выродилось в Presentation Model)

Я использовал presentation model, но буквально недавно я снес проект, содержащий слой презентеров, из своего решения и одна из причин, заставившей меня это сделать, объяснена ниже

Интерфейс вьюшки
1 отображает список некоторой доменной сущности
2 может показывать ошибку
3 спрашивать подтверждения пользователя
4 содержит две кнопки, первая - закроет въюшку, вторая откроет новый вью с отображением более подробной информации о доменной сущности
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
interface IViewInterface
    {
        void SetDomainSomeEntitiesList(IList<DomainSomeEntities> entities);
        void ShowError(string error);
        bool GetConfirmation(string question); 
        event EventHandler BeforeViewClosed;
        event EventHandler ShowDomainSomeEntitiesDetailPressed; 
    }



презентер, продемонстрирован только конструктор
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
class DomainSomeEntitiesListPresenter
    {
        private readonly IViewInterface _view;
        private readonly ICollection<DomainSomeEntities>  _model; 
      
        public DomainSomeEntitiesListPresenter(IViewInterface view, ICollection<DomainSomeEntities> model)
        {
            _model = model; 
            _view = view;
        }
    }



И реализация view

Код: c#
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.
40.
41.
 class View : Form, IViewInterface
    {
        #region Implementation of IViewInterface

        public void SetDomainSomeEntitiesList(IList<DomainSomeEntities> entities)
        {
            // грид или другой, используемый нами компонент, обновил данные 
            _bindingSource.DataSource = entities; 
        }

        public void ShowError(string error)
        {
            MessageBox.Show(error); 
        }

        public bool GetConfirmation(string question)
        {
            return new DialogResultForm(message).ShowDialog() == DialogResult.OK; 
        }

        public event EventHandler BeforeViewClosed;
        public event EventHandler ShowDomainSomeEntitiesDetailPressed;

        private void FormCloseBeforePressed(object sender, EventArgs e)
        {
            if (BeforeViewClosed != null)
            {
                BeforeViewClosed(this, EventArgs.Empty); 
            }
        }

        private void ButtonShowDetailClicked(object sender, EventArgs e)
        {
            if (ShowDomainSomeEntitiesDetailPressed != null)
            {
                ShowDomainSomeEntitiesDetailPressed(this, EventArgs.Empty); 
            }
        }

        #endregion
    }



и фрагмент из точки старта приложения

Код: c#
1.
2.
3.
4.
var view = new View() 
ICollection<DomainSomeEntities> collection = SomeDataLayerServiceOrRepositoryOrOrmSession.GetSomeDomainCollection(); 
new Presenter(IView, collection); 
Application.Start(view); 



Проблема для меня начинается, когда пользователь щелкает по кнопке - "показать детально".
Возникает вопрос - презентер должен создать новый вью для отображения детальных данных сущности и передать ей эту самую сущность?
Но тогда презентер знает о реализации вью (хотя это можно обойти через IoC, но из пушки по воробъям..)
Или когда пользователь щелкает по кнопке, я должен создать во вью новую форму для детального отображения сущности, создать соответствующий презентер и передать, в качестве модели, _bindingSource.Current ?
ну примерно так
Код: c#
1.
2.
3.
4.
5.
6.
private void ButtonShowDetailClicked(object sender, EventArgs e)
        {
            DetailViewForm detailView = new DetailViewForm();  
            DetailPresenter detailPresenter = new DetailPresenter(detailView, _bindingSource.Current );
            detailView.View();  
        }



Но в таком случае уже вью знает о презентере )))
Ведь по идее, проект со вьюшками видит модель и сборку с презентерами. Сборка с презентерами также знает о модели. А презентеры знают только об интерфейсах вью (их предпочтительно расположить в сборке с презентарами). Но хотя если не заморачиваться об областях видимости, то я бы предпочел второй подход - когда view создает соответствующий презентер и передает ему модель.

Почему-то вопросам навигацию в MVP посвящено очень мало внимания :(
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765090
besserebrenik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
besserebrenik,

P.S. извиняюсь перед администратором за оффтоп, я сильно отошел от темы в заголовке
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765094
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
besserebrenik,

да забей ты на этих шаблонистов
создай свои шаблоны - удобные и эффективные для тебя
илиты хошь дело догматиков продолжить?
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765108
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот фрагмент домена
прога сама должна по семантике связей (+ доп семантика введенная пользователем) создавать агрегатные типы (include твои) для заданного контекста, визуализировать автоматически данный агрегат (разные представления агрегата в контексте визуализации) и обеспечить целостность агрегата в заданном контексте и в контексте домена.

А всех фаулеров и гамм на пенсию нафиг. заодно и буча.
почему то болбаный форум не принимет картинки. никак муся старался.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765206
besserebrenik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Я начитался книг и статей по best practices и захотел сделать интересный, с точки зрения архитектуры, проект.) Но больше меня, как начинающего специалиста, интересует выработка некой методологии написания проектов и я, не имея собственного опыта, стал следовать за догматистами, о чем уже жалею )

Если кода не так много, то может через спойлер сюда или ссылочку на репозиторий ..
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765212
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
besserebrenik,

не дает форум прикрепить
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765215
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
догматисты = (по русски) догматики
:)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765226
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
исправили
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765238
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотри какой инфой прога владеет
что ей стоит самой интерпретировать метаинфу
это только структурная инфа, а есть и поведенческая
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765242
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765244
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

теперь мы говорим - создай персистентный агрегат (выбранные типы)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765245
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тфу
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765247
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
получаем агрегат
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765248
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

визуализируем
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765515
besserebrenik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Впечатляет!
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765517
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtorРепозиторий при наличии хорошей ORM - зло, зло, зло
а если вдруг понадобится сменить ORM? месяцами будете переделывать?
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37765744
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77а если вдруг понадобится сменить ORM? месяцами будете переделывать?
Зачем страдать фигнёй исходя из ложного предположения?
И ссылки почитайте, полезно будет.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37768820
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
besserebrenikViPRos,

Впечатляет!
и, как уже несколько раз замечено, тут обсуждение вопроса сразу обрывается :)
с чего бы это?
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37774020
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtorЗачем страдать фигнёй исходя из ложного предположения?
И ссылки почитайте, полезно будет.

ссылки я почитал и в связи с этим задал вопрос, если у вас не было такой ситуации, это не значит что их вообще не существует, а история следующая: проект, прототип, первая версия, MS SQL Compact 3.5 + LINQ-to-SQL, внезапно появляется элементарное требование - сделать пейджинг на страницах, чтобы не 1000 записей, а по 10,20,...

SQL Compact 3.5 не умеет этого в нативном sql, сменили версию на 4.0, только вот LINQ-to-SQL не умеет с ней, пришлось менять ORM, на EF, было около 20-30 выделенных репозитеориев (интерфейс + реализация для LINQ + реализация для MOCK), сколько было мест использований - не считал, на все ушло полдня-день, плюс еще сделали дженерик для пейджинг-коллекций со свойствами TotalCount / PageCount / PageSize

Репозиторий скрывает контекст БД, вы его предлагаете убрать (по ссылкам кстати его не убирают, а заменяют выход от готового списка на гибкий IQueryable<T>), т.е. вы с вашим подходом будете писать везде, нечто такое:
Код: c#
1.
2.
3.
4.
5.
6.
using (var db = new DataBaseContext())
{
 IQueryable<MyEnitity> query = db.MyEnititys.AsQueryable();
 var result query.Where(e => ...).ToList();
 ...
}



и это в сотнях и тысячах мест xD
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37774039
besserebrenik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

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

А вы выложили скрины программы, которая создает сущности на основании их метаданных )

Мне ничего не оставалось, как ответить - "Впечатляет!" :)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37774077
besserebrenik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
besserebrenik,

Насчет обуждения Repository, возращающего готовые списки и IQueryable<T> , рекомендую почитать (вместе с комментариями)
Из комментариев первой статьи появляется уже вторая статья.

http://blog.byndyu.ru/2011/01/domain-driven-design-repository.html

http://blog.byndyu.ru/2011/08/repository.html

Мне, честно говоря нравится более второй подход, как было отмечено 17-77, он гибче
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37774166
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
besserebrenik,

да я не про тебя :) ты то все уловил на корню
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37774494
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77ссылки я почитал и в связи с этим задал вопрос, если у вас не было такой ситуации, это не значит что их вообще не существует, а история следующая: проект, прототип, первая версия, MS SQL Compact 3.5 + LINQ-to-SQL, внезапно появляется элементарное требование - сделать пейджинг на страницах, чтобы не 1000 записей, а по 10,20,...

SQL Compact 3.5 не умеет этого в нативном sql, сменили версию на 4.0, только вот LINQ-to-SQL не умеет с ней, пришлось менять ORM, на EF, было около 20-30 выделенных репозитеориев (интерфейс + реализация для LINQ + реализация для MOCK), сколько было мест использований - не считал, на все ушло полдня-день, плюс еще сделали дженерик для пейджинг-коллекций со свойствами TotalCount / PageCount / PageSize

Сочувствую. Вы выбрали убогую технологию. С ней невозможно построить сколь-нибудь приличное приложение. Вот и занялись заменой того-сего. Пробовали выйти за пределы microsof echo chamber? Там много всего интересного! Честно-честно.

Насчёт IQueryable - его по-настоящему поддерживает только linq-to-object. Все остальные провайдеры лишь небольшую его часть, причем все по разному. Работая с ним вы используете дырявую абстракцию, т.к. ориентируетесь на конкретный механизм доступа к данным. Подробнее .

Для сложных приложений всегда приходится ориентироваться на конкретный тип доступа к данным из соображений эффективности. Поэтому хороший построить репозиторий, который действительно легко заменить можно только ценой потери эффективности (гибкое управление ленивой загрузкой, количеством запросов к бд, количеством загружаемых записей и т.д.). Это плата не для меня.

besserebrenikМне, честно говоря нравится более второй подход, как было отмечено 17-77, он гибче
Каждая абстракция отрезает низкоуровневые возможности, вы сознательно их игнорируете. Иногда это хорошо, иногда не очень. С данными это всегда не очень. Представьте себе, что есть интерфейс:
Код: c#
1.
2.
3.
4.
public interface IFoodRepository
{
     Dinner GetDinner();
}


Если этот интерфейс имеет реализует холодильник - проблем нет. Захотели пообедать - сходили к холодильнику. А теперь представьте себе, что в арктической экспедиции, и IFoodRepository реализует корабль, который приплывает к вам раз в полгода. Сможете ли вы игнорировать этот факт?

Поэтому могу лишь еще раз повторить свою точку зрения - при наличии хорошей ORM или развитого механизма доступа к данным - репозиторий зло.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37774498
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

если что - то меня не впечатляет.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37774545
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtor,

почему?
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37774655
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77внезапно появляется элементарное требование - сделать пейджинг на страницах, чтобы не 1000 записей, а по 10,20,... SQL Compact 3.5 не умеет этого в нативном sql..."Просчёты одних рождают героизм других" (с)

Архитектору стоит почуствовать себя виноватым.

17-77Репозиторий скрывает контекст БД, вы его предлагаете убрать (по ссылкам кстати его не убирают, а заменяют выход от готового списка на гибкий IQueryable<T>), т.е. вы с вашим подходом будете писать везде, нечто такое:
Код: c#
1.
2.
3.
4.
5.
6.
using (var db = new DataBaseContext())
{
 IQueryable<MyEnitity> query = db.MyEnititys.AsQueryable();
 var result query.Where(e => ...).ToList();
 ...
}



и это в сотнях и тысячах мест xDЧто вместо этого предлагается писать в "сотнях и тысячах мест"?

Вроде как в представленном примере весь код направлен на решение чисто прикладной задачи:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
using (var db = new DataBaseContext()) // управление временем жизни соединения с БД
{

 // прикладная логика
 IQueryable<MyEnitity> query = db.MyEnititys.AsQueryable();
 var result query.Where(e => ...).ToList();
 ...
}
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37774702
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosпочему?Потому что проще воспользоваться тем же WPF + нормальный бизнес-фреймворк, чем вводить метаданные + править ядро ВипРоса в случае нетиповых ситуаций.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37774818
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosпочему?
Алексей КПотому что проще воспользоваться тем же WPF + нормальный бизнес-фреймворк, чем вводить метаданные + править ядро ВипРоса в случае нетиповых ситуаций.

Отвечу сразу обоим. Дело даже не в WPF как таковом, дело глобальнее. Программистов (и тех кто рядом) уже давно волнуют некоторые больные вопросы софтостроения, удачное решения для которых бередит умы опытных и неопытных программистов. Одну из них - доступ к данным - мы сейчас активно мусолим. Но единого победоносного варианта нет. Всегда приходится искать способы сгладить углы на мультиугольнике. Серебряных пуль не подвезли.

Еще одна особо голубая мечта человечества - писать программы без программистов. Уже не одно поколение средств померло в попытках родить нечто, что может выкинуть дорогих программистов из процесса создания ПО. Всякие case-средства, нонче вот народ любит с BPL баловаться. Но у этих попыток есть две большие проблемы:
1. Создание средства, которое позволяло бы моделировать что-либо на достойном уровне очень-очень невероятно сложно само по себе, и требует миллионы человеко-лет труда. Далеко не всем конторам это под силу. Но даже решение этой проблемы бессмысленно, из-за второй проблемы.
2. Программирование сложно само по себе. Малое количество пользователей может формализовать проблему. А уж запрограммировать (пусть мышкой) - это высший пилотаж. Приходится нанимать консультантов, чтобы они могли настроить систему . Это уже не говоря про другие вопросы: как управлять конфигурацией, как класть изменения в контроль версий и управлять изменениями, как проводить аудит, как тестировать, как отлаживать, как решать вопросы производительности и т.д. и т.п. Даже более простая задача - конфигурация приложения - это тоже программирование, и требует для своего обслуживания высококвалифицированный персонал. Всё это сводит на нет все теоретические плюсы мышкопрограммируемых систем. С их помощью можно родить только очень простой CRUD-софт.
Это эдакий вечный двигатель в разрезе программирования.

С помощью языков программирования общего назначения можно получить продукт, лучше удовлетворяющий интересам заказчика, и лучше и проще расширяемый с помощью простой системы плагинов.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37774912
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КАрхитектору стоит почуствовать себя виноватым.
в ваших ситуациях архитекторы были экстрасенсами?

Алексей КЧто вместо этого предлагается писать в "сотнях и тысячах мест"?
абстракцию IRepository.GetMyEnitities()
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37774924
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КViPRosпочему?Потому что проще воспользоваться тем же WPF + нормальный бизнес-фреймворк, чем вводить метаданные + править ядро ВипРоса в случае нетиповых ситуаций.
ядро випрос сильнее чем ООП + ОРМ вместе взятые
а рожи можно генерить и на ХАМЛ
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37774931
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtorОтвечу сразу обоим. ....
очень простой CRUD-софт.

это тебе кажется
в випрос например смоделировано промышленное предприятия
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775064
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

ппц, ядро випрос сильнее парадигмы программирования (ООП) и технологии программирования (ORM). В мемориз однозначно.

P.S. Походу випрос еще сильнее Microsoft, президента России и силы притяжения Солнца...
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775068
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchViPRos,

ппц, ядро випрос сильнее парадигмы программирования (ООП) и технологии программирования (ORM). В мемориз однозначно.

P.S. Походу випрос еще сильнее Microsoft, президента России и силы притяжения Солнца...
да в випрос заложены более мощные парадигмы чем ООП и ОРМ
ОРМ не технология программиирования, а технология проектирования
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775071
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Википедия с вами не согласится, http://ru.wikipedia.org/wiki/ORM

ВипРос это мало кому нужное непойми-что, если честно))

P.S. И Вы совершенно не поняли смысла моего поста, программа не может быть сильнее парадигмы.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775074
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, и судя по сайту www.vipros.ru Вы пока что смоделировали только ведение договоров с заказчиками)) Может хотя бы хватит кричать о универсальности?)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775075
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchViPRos,

Википедия с вами не согласится, http://ru.wikipedia.org/wiki/ORM

ВипРос это мало кому нужное непойми-что, если честно))

P.S. И Вы совершенно не поняли смысла моего поста, программа не может быть сильнее парадигмы.
ты наверное пропустил имоушей
ORM также может означать: англ. Object Role Model, рус. Модель ролей объекта — методика концептуального проектирования информационных систем, включающая собственную графическую нотацию.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775076
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchА, и судя по сайту www.vipros.ru Вы пока что смоделировали только ведение договоров с заказчиками)) Может хотя бы хватит кричать о универсальности?)
да срать мне на сайт
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775077
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

да вам на все "срать", если критикуется ваша система))
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775078
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, вот давай и сделаем, что бы хотя б тебе было известно :)
да какие нафиг договоры
ВИП.Производство (а не ВИПРОС) описывает Промышленое предприятия структурно и процессно, строит оптимальное (минимизирует рсесурсный потенциал для достижения целей по заданным критериям в при ограничениях, а так же рекомендует действия для реструктрузации ограничений ) расписание работы для всех производствено логистических структурных элементов предприятия(групп предприятияй), диспетчирует расписание и перепланирует в реалтайм
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775081
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchViPRos,

да вам на все "срать", если критикуется ваша система))
ты еще ничего не критиковал :)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775082
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

если Vipros может смоделировать документооборот например то почему у нее 2! внедрения судя по сайту, по сравнению с "Евфрат" ( http://www.evfrat.ru, единственная о которой я слышал (стоит у заказчика))(4500+ внедрений) ?)

Вывода 2:
1) VipRos не способна его смоделировать
2) VipRos делает это гораздо хуже специализированной системы документооборота )
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775083
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

ну для начала вы так и не ответили как можно сравнить программу и парадигму)
Критиковал, в споре ORM vs SQL.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775085
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

То есть в топике, посвященном доступу к данным вы подразумевали Роли объекта? которое никак к доступу к данным не относится.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775089
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, 4200+ внедрений*
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775090
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch,

1. Я "документоооборот" не модлировал и не буду, так как "документ" одно из представлений Процесса, а процессы моделируем :)
2. ВИПРОС рабочее место проектировщика и в нее заложены более мощные парадигмы чем ООП и ОРМ
3. Доступ к данным - техническое решение, при адекватном инструменте об этом вовсе и думать не надо (не это пока не так)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775091
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchИзвиняюсь, 4200+ внедрений*
да лохов море может и 4200 000
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775093
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Не кричите тогда о универсальности, потому что она у вас не доказана.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775094
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Понятие "Мощности" парадигмы в студию.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775096
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchViPRos,

Не кричите тогда о универсальности, потому что она у вас не доказана.
т.е. что бы доказать я должен промоделировать вес мир? :)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775097
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchViPRos,

Понятие "Мощности" парадигмы в студию.
мощность парадигмы = кардинальное число идей в нее заложенных
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775099
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosLelouchViPRos,

Не кричите тогда о универсальности, потому что она у вас не доказана.
т.е. что бы доказать я должен промоделировать вес мир? :)
давай че нить промоделируем ( мне ближе предприятия)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775100
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Хотя бы промоделируйте не только общение с клиентами, а, например, тоже самое что здесьhttp://ru.wikipedia.org/wiki/Microsoft_Dynamics_NAV]это[/url + плановый отдел предприятия + и т.д. Промоделируйте ВСЕ предприятие, а не 1/10 его часть.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775102
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775104
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchИзвиняюсь,
http://ru.wikipedia.org/wiki/Microsoft_Dynamics_NAV
да там дебилизм полный типа "управление складами" :)
склад не автомобиль :)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775106
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Дибилизм пока у вас, с универсальностью.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775107
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

управляет ВСЕМ предприятием и ВСЕМИ его ресурсами по заданным Политикам управления
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775109
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во времени и в пространствах(юридических, топологических, ...)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775110
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

нет не управляет, например, рассчет ЗП работникам судя по единственной доступной конфигурации ВНЕ его возможностей)))
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775111
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchViPRos,

Дибилизм пока у вас, с универсальностью.
вот давай ты возьми это УГ а я ВИПРОС и решим каую нить стоящую задачку для предприятия
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775113
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchViPRos,

нет не управляет, например, рассчет ЗП работникам судя по единственной доступной конфигурации ВНЕ его возможностей)))
ну начисления и счас можно, а удержаний нет там
не было заявлено
цель этой конфигурации - Планирование и Диспетчеризация Ресурсов Предприятия для достижения Целей
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775114
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

не собираюсь я это брать, дибилизм в крике о универсальности, которой не наблюдается.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775117
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

у вас других нет на сайте, без удержаний не интересно.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775118
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch,

н уты дурной, за это заплачено 76 000 000 р
а ты не хошь
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775119
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchViPRos,

у вас других нет на сайте, без удержаний не интересно.
я могу тебе подарить с исходниками с удержаниями и всякими пенс фондами и т.д.
токо на дельфи
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775123
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в придачу могу подарить и бухгалтерию до баланса и всех 5 форм
и всякие оптово рознияные торговли регресси ви кредитоспособность и другую туфту
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775124
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Меня слабо интересуют исходники (но вообще то мне почти все равно на каком языке, можете прислать, пойму), 7 600 000 это оооочень мало, за биллинг пользователей водоканала нам заплатили около 10 млн. )
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775125
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch,

ты зачем съел мой нуль??? 76 000 000
и я не ВЫ а Я :)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775127
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это фигня уже забодала
есть тут прогеры? в чем дело?

Произошла ошибка. Администрация сервера будет извещена об этом.
Попробуйте повторить ваш запрос еще раз.

Мы будем благодарны, если вы сможете прислать нам дополнительную информацию, о том как произошла эта ошибка.
Feedback форма
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775128
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775129
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775132
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

да, извините, съел 0) В скайпе отвлекают ><
Ладно, спор не интересен, пока нет конфигураций под все отделы предприятия)) Спокойной ночи, мне завтра первый день работать после отпуска ><
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775134
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch,

спи
а я пойду винца куплю, а окончается кянти сраное
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775137
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и нет у меня цели промоделировать "отделы"
отдел - Процессор агрегатный обычный , а он у мну промоделирован вдоль и поперек :)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775144
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Напоследок у МС Динамикс 317 тысяч внедрений, у вас ~10, поесть >>317000 - 10 = идиоты)) Удачи и дальше считать платформу универсальной)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775165
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch,

ну я ж только сделал :)
идет внедрение в 3 больших заводах
в одном почти готово, т.е.промоделировали до винтиков одно производство и начинается внедрение полностью для завода
в холдинге внедряется логистика меж сотен предпритиями - кооперация + закупки
и т.д.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775179
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

1) а теперь представим, что одному из заводов потребовалось автоматизировать работу, каких либо контролеров. Предполагается что каждый конролёр носит с собой планшет на ОС Android, что Вы будете делать, переписывать ваш крутой толстый клиент на Java?:)

2) У одного предприятия оказалось 2 филиала, но заказчик хочет хранить все данные в одной БД, вы выпустите сервер СУБД в интернет, нарушая рекомендации по безопасности?
Это пара ограничений, вытекающих из архитектуры

3) Еще раз повторю, смоделируйте все предприятие, а не только его часть, тогда и поговорим.

P.S. Насколько помню у вас 2 звена.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775213
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch,

дурной ты и вправда
КАКОЙ НАФИГ ЗАКАЗЧИК???
как он может ХОТЕТЬ?????
мы его МОДЕЛИРУМ, а он ИШАК
и должен платить
ты еще не спишь?
а тоя взял кянти
могу ще лялял
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775216
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а планшет да
пригодится
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775235
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

вообще то заказчик платит за то что хочет получить)

ViPRosКАКОЙ НАФИГ ЗАКАЗЧИК???
как он может ХОТЕТЬ?????
мы его МОДЕЛИРУМ, а он ИШАК

Все ясно, если заказчик хочет то что вы не можете смоделировать - он ишак))

P.S. Клиент всегда прав, не слышали о таком?)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775238
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchP.S. Клиент всегда прав, не слышали о таком?)
да ты лчше поспи
клиент му**ло с деньгами
что ему дашь то он и схавает
потому что ему неоткуда больше взять то что ты предлагаешь
кончено если ты че то педлагаешь
а не играешь в ООП ХУЙОП и т.д.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775243
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

1) Вы пьяны)
2) За 76 млн он точно способен заказать систему под ключ, а не купить нечто с кучей ограничений)
3) Заказчик может быть кем угодно, но если он потребует чтобы система прыгала - вы будете обеспечивать чтобы она прыгала, а не пояснять что ваше гениальное ядро может только ползать или летать ;)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775251
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchViPRos,

1) Вы пьяны)
2) За 76 млн он точно способен заказать систему под ключ, а не купить нечто с кучей ограничений)
3) Заказчик может быть кем угодно, но если он потребует чтобы система прыгала - вы будете обеспечивать чтобы она прыгала, а не пояснять что ваше гениальное ядро может только ползать или летать ;)
ты не въезжаешь
можно было и 176 000 000
это ты должен тому козлу доказать что он без этой истемы профукает 100 раз больше
и нифига он не закажет что б прыгала, ты ему советуешь что бы она летала и все ну и немного ходила по воде если уж невмоготу
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775252
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спи давай
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775256
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosLelouchViPRos,

1) Вы пьяны)
2) За 76 млн он точно способен заказать систему под ключ, а не купить нечто с кучей ограничений)
3) Заказчик может быть кем угодно, но если он потребует чтобы система прыгала - вы будете обеспечивать чтобы она прыгала, а не пояснять что ваше гениальное ядро может только ползать или летать ;)
ты не въезжаешь
можно было и 176 000 000
это ты должен тому козлу доказать что он без этой истемы профукает 100 раз больше
и нифига он не закажет что б прыгала, ты ему советуешь что бы она летала и все ну и немного ходила по воде если уж невмоготу

А он говорит, что за 75 млн ему тут соседняя фирма предложила тоже что и вы, но прыгающее) И остаетесь вы у разбитого корыта))
Вы пока что не MS, способное посылать запросы пользователей)
Я соглашусь, когда вы сильно распространены, как система "Город" например, вы можете относится к заказчикам как к кому угодно)) Но пока у вас ~10 внедрений так себя вести - себе дороже)))
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775258
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosспи давай

А вы - прекращайте пить)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775262
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosспи давай

не тыкайте мне, я вроде себе этого не позволяю)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775290
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch,

ну я ж тя люлю
а ты мну нет
потому я тыкаю
а ты выкаешь
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775292
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchViPRosпропущено...

ты не въезжаешь
можно было и 176 000 000
это ты должен тому козлу доказать что он без этой истемы профукает 100 раз больше
и нифига он не закажет что б прыгала, ты ему советуешь что бы она летала и все ну и немного ходила по воде если уж невмоготу

А он говорит, что за 75 млн ему тут соседняя фирма предложила тоже что и вы, но прыгающее) И остаетесь вы у разбитого корыта))
Вы пока что не MS, способное посылать запросы пользователей)
Я соглашусь, когда вы сильно распространены, как система "Город" например, вы можете относится к заказчикам как к кому угодно)) Но пока у вас ~10 внедрений так себя вести - себе дороже)))
ну я ж не один
я гастарбайтер
мне плятят 180 000 в месяц до налогв
и я пашу
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775293
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ате внедряют продают и т.д.
вотзакончу
напищ=шу что нить другое
для души
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775350
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77Алексей КАрхитектору стоит почуствовать себя виноватым.
в ваших ситуациях архитекторы были экстрасенсами?Да. Это часть их профессии.
17-77Алексей КЧто вместо этого предлагается писать в "сотнях и тысячах мест"?
абстракцию IRepository.GetMyEnitities()Это то, о чём говорил SolYUtor. Возможно существенное снижение производительности.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775352
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosядро випрос сильнее чем ООП + ОРМ вместе взятыеСудя по представленным картинкам это не так.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775393
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЭто то, о чём говорил SolYUtor. Возможно существенное снижение производительности.
производительность на уровне систем реального времени нужна не всегда (нужна не абы какая, а достаточная в некоторых заданных условиях), и для этого используются совсем другие средства, и всяким ORM там делать, думаю, будет нечего

вместо этого предлагается уменьшить гибкость, и в случае чего тратить недели и месяцы на доработки
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775420
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77производительность на уровне систем реального времени нужна не всегда (нужна не абы какая, а достаточная в некоторых заданных условиях), и для этого используются совсем другие средства, и всяким ORM там делать, думаю, будет нечегоПо сравнению с сетевым пингом затратами на ORM как правило можно принебречь.
17-77вместо этого предлагается уменьшить гибкость, и в случае чего тратить недели и месяцы на доработкиНормальный кодогенератор + ORM ( поддерживающий LINQ-2-SQL, HQL или кому что нравится ), уже сам по себе является универсальным репозитарием на все случаи жизни. Лепить поверх этого ещё одну абстракцию глупо. SolYUtor об этом уже говорил. Мы ходим по кругу.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775584
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПо сравнению с сетевым пингом затратами на ORM как правило можно принебречь.
я вас не очень понял, т.е. создание объектов ORM, маппинг это фигня, а создать экземпляр класса и преобразовать к интерфейсу - это долго?

Алексей КНормальный кодогенератор + ORM уже сам по себе является универсальным репозитарием на все случаи жизни. Лепить поверх этого ещё одну абстракцию глупо
глупо дублировать код, глупо полагатся на пафосные экстрасенсорные способности (предвидеть абсолютно все ситуации), глупо ставить себя в зависимость от некоторой конкретной реализации, которую в будущем возможно придется заменить более современным/надежным/подходящим средством, и покажите мне человека, который знает (т.е. сталкивался на практике) абсолютно все плюсы и минусы, возможности основых используемых ORM, это же ведь ему позволит сделать правильный выбор
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775608
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77глупо дублировать код, глупо полагатся на пафосные экстрасенсорные способности (предвидеть абсолютно все ситуации),
90% кода по работе с бд используется один раз. Остальное можно запихнуть в QueryObject.
17-77 глупо ставить себя в зависимость от некоторой конкретной реализации, которую в будущем возможно придется заменить более современным/надежным/подходящим средством
С нетерпением жду вашего рассказа, как вы легко и просто, потратив полдня замените свою реализацию на MongoDB.
17-77 и покажите мне человека, который знает (т.е. сталкивался на практике) абсолютно все плюсы и минусы, возможности основых используемых ORM, это же ведь ему позволит сделать правильный выбор
Это называется опыт. Предвидеть необходимость постраничной выборки ( и ограничений на размер выборки в общем) - не ахти какое знание.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37775621
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77я вас не очень понял, т.е. создание объектов ORM, маппинг это фигня, а создать экземпляр класса и преобразовать к интерфейсу - это долго?Это к тому, что сам факт использования ORM мало влияет на производительность. Вопрос в том как он используется.
17-77Алексей КНормальный кодогенератор + ORM уже сам по себе является универсальным репозитарием на все случаи жизни. Лепить поверх этого ещё одну абстракцию глупо
глупо дублировать кодГде я предлагал дублировать код?
17-77глупо полагатся на пафосные экстрасенсорные способности (предвидеть абсолютно все ситуации)Если вернуться к Вашему примеру, можно было найти выход и с имеющейся архитектурой. Было бы желание. Если там у вас кто-то чего-то не смог - это не значит что это невозможно.

"Береженого Бог бережет - бормотала монашка, одевая на свечку второй презер...в" (с) Намерено идти по пути "N+1 запрос" ( или городить кэш второго уровня ) из-за лишней абстракции ради какой-то неуверенности в завтрашнем дне на мой взгляд нерационально.

17-77глупо ставить себя в зависимость от некоторой конкретной реализации, которую в будущем возможно придется заменить более современным/надежным/подходящим средствомГлупо иметь инструмент и не использовать все имеющиеся возможности.

17-77и покажите мне человека, который знает (т.е. сталкивался на практике) абсолютно все плюсы и минусы, возможности основых используемых ORM это же ведь ему позволит сделать правильный выборПросто надо иметь некоторый кругозор, не более того.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37776693
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtor90% кода по работе с бд используется один раз. Остальное можно запихнуть в QueryObject.
Алексей КГде я предлагал дублировать код?
собственно предлагали в том месте, где надо избавиться от абстракции с репозиторием
что насчет выборки с джоинами, в двух местах программы, с разными условями where
что насчет сохранения объектов из двух мест с какой-то пред-обработкой

SolYUtorС нетерпением жду вашего рассказа, как вы легко и просто, потратив полдня замените свою реализацию на MongoDB.
как нибудь посмотрю что это

SolYUtorЭто называется опыт. Предвидеть необходимость постраничной выборки ( и ограничений на размер выборки в общем) - не ахти какое знание.

вы умеете абстрагироваться? это был элементарный пример, а ситуаций бывают разные

Алексей КЭто к тому, что сам факт использования ORM мало влияет на производительность. Вопрос в том как он используется.

все равно не очень понятно, использовать ORM напрямую, либо создать класс/интерфейс обертку и обращаться к ORM внутри - где здесь заметное уменьшение производительности, создание экземпляра? преобразование к интерфейсу? лишний уровень в стеке вызовов? это все становиться заметным по сравнению с сетевым пингом? можно пример?

Алексей КНамерено идти по пути "N+1 запрос

хм, не знаю как в MongoDB, в EF есть Include, а в гибернейте Fetch, все спокойно достается заранее и то что требуется, отсоединяется и возвращается, интересно стало как в сервисной архитектуре вы будете через xml передавать отслеживаемые сущности
с кэшем второго уровня тоже не понятно, насколько я понял у вас был какой-то дикий пример, который вы забыть не можете, это относится к сетевому пингу?

SolYUtorЭто называется опыт.

Алексей КПросто надо иметь некоторый кругозор, не более того.

кругозора мало, чтобы не ударить в грязь лицом в любой ситуации, нужны глубокие знания, вплоть до того, что EF упадет при обработке 32561 записи в одной транзакции
с опытом приходит только часть, прикиньте самостоятельно сколько проектов надо сделать, чтобы всесторонне попробовать каждую возможность хотя бы одного инструмента, и сколько времени надо на это потратить, экстрасенсом быть выгодней
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37776719
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77кругозора мало, чтобы не ударить в грязь лицом в любой ситуации, нужны глубокие знания, вплоть до того, что EF упадет при обработке 32561 записи в одной транзакции
с опытом приходит только часть, прикиньте самостоятельно сколько проектов надо сделать, чтобы всесторонне попробовать каждую возможность хотя бы одного инструмента, и сколько времени надо на это потратить, экстрасенсом быть выгодней
не опыта, ни кругозора у них нет
гуглисты они
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37776773
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77,

могу вас лишь поздравить с началом долго пути. :) Вы уже пришли к шаблонам, теперь осталось встань на вторую ступень - понимание, что контекст применения шаблонов и принципов весьма ограничен. И зачастую они противоречат друг-друг. Скажем, вам приходилось сталкиваться с проблемой SRP vs DRY? А это действительно проблема, и увы, ее часто разрешают в пользу DRY.

В общем, как говорил Грег Янг:

Greg YoungDeveloper have mental disorder. They have a tendency to attempt to solve specific problems with general solutions. This leads to coupling and complexity. Instead of being general, code should be specific.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37776782
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtor17-77,

могу вас лишь поздравить с началом долго пути. :) Вы уже пришли к шаблонам, теперь осталось встань на вторую ступень - понимание, что контекст применения шаблонов и принципов весьма ограничен. И зачастую они противоречат друг-друг. Скажем, вам приходилось сталкиваться с проблемой SRP vs DRY? А это действительно проблема, и увы, ее часто разрешают в пользу DRY.

В общем, как говорил Грег Янг:

Greg YoungDeveloper have mental disorder. They have a tendency to attempt to solve specific problems with general solutions. This leads to coupling and complexity. Instead of being general, code should be specific.

тупой твой янг
у кого есть опыт тот видит общее решение
спецрешения делаются при неустранимых ограничениях (финансы, время, жадность,...)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37778541
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77SolYUtor90% кода по работе с бд используется один раз. Остальное можно запихнуть в QueryObject.
Алексей КГде я предлагал дублировать код?
собственно предлагали в том месте, где надо избавиться от абстракции с репозиторием
что насчет выборки с джоинами, в двух местах программы, с разными условями whereСвойство IQueryable<> + запросы с разными where из него?
17-77что насчет сохранения объектов из двух мест с какой-то пред-обработкойВо всех уважающих себя ормах есть механизм валидации объектов перед физическим сохранением в БД.
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37778547
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77Алексей КЭто к тому, что сам факт использования ORM мало влияет на производительность. Вопрос в том как он используется.
все равно не очень понятно, использовать ORM напрямую, либо создать класс/интерфейс обертку и обращаться к ORM внутри - где здесь заметное уменьшение производительности, создание экземпляра? преобразование к интерфейсу? лишний уровень в стеке вызовов? это все становиться заметным по сравнению с сетевым пингом? можно пример?Говорю же, обилие мелких запросов.
17-77Алексей КНамерено идти по пути "N+1 запрос
хм, не знаю как в MongoDB, в EF есть Include, а в гибернейте Fetch, все спокойно достается заранее и то что требуется, отсоединяется и возвращается,Придётся или тянуть всех "детей", или репозитарий распухнет от обилия методов и логики фильтрации детей, которой не должно быть в репозитарии по определению.
17-77интересно стало как в сервисной архитектуре вы будете через xml передавать отслеживаемые сущностиА никак :-)

Традиционно, в сессии сохранения делается Attach сущностям, требующим сохранения/удаления. Ну или "лишний" запрос на выбор этой сущности из БД + изменение её свойств. Потом сохранение. Хотя, есть LINQ-Over-WCF, может там что для этого есть.
17-77кругозора мало, чтобы не ударить в грязь лицом в любой ситуации, нужны глубокие знания, вплоть до того, что EF упадет при обработке 32561 записи в одной транзакцииУ меня он падал на ~5000 записей. :-)
17-77с опытом приходит только часть, прикиньте самостоятельно сколько проектов надо сделать, чтобы всесторонне попробовать каждую возможность хотя бы одного инструмента, и сколько времени надо на это потратить, экстрасенсом быть выгоднейНу что поделать, такова нелёгкая судьба архитекторов. :-)
...
Рейтинг: 0 / 0
Iclude в NHibernate
    #37788456
besserebrenik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горячая ветка :D Быть может кто знает ответ на этот вопрос ?
...
Рейтинг: 0 / 0
110 сообщений из 110, показаны все 5 страниц
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Iclude в NHibernate
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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