Pull to refresh

Comments 5

Чем больше типов, вложенности и il кода, тем медленнее ПО, так как jit`у сложнее оптимизировать программу. Поэтому подобного рода строгая типизация приведет к серьезным тормозам в проекте.

В дотнете структура вида


struct Wrapper<T>
{
      public T Value {get; set;}
}

эквивалентна по производительности манипуляциям со значениям напрямую, JIT в итоге генерирует такой же ассемблерный код. Но придётся уйти от иерархий наследования и потреблять интерфейсы посредством конструкций вида


interface IFoo
{
      void Bar();
}
void Do(T x) where T : IFoo
{
     x.Bar();
}

чтобы избежать боксинга.

просто заведите типы GroupId, UserId и так далее

Как к такому отнесётся EntityFramework скажем 6 и Core? Есть ли опыт работы, как усложнится работа с базой, какие-то наблюдения по удобству работы?

Мне вот тоже интересно, наверное появится слой мапинга где используя FluentApi прокинут свойства, или не дай бог там будут модели таблиц с неявным преобразованием из наших чудесных моделей в бд
Ну можно сделать memento и маппить на EF классы и обратно например. Или использовать backing fields, owned entites, value conversion.
UFO just landed and posted this here
Sign up to leave a comment.

Articles

Change theme settings