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();
}
чтобы избежать боксинга.
+3
просто заведите типы GroupId, UserId и так далее
Как к такому отнесётся EntityFramework скажем 6 и Core? Есть ли опыт работы, как усложнится работа с базой, какие-то наблюдения по удобству работы?
+2
Мне вот тоже интересно, наверное появится слой мапинга где используя FluentApi прокинут свойства, или не дай бог там будут модели таблиц с неявным преобразованием из наших чудесных моделей в бд
0
Ну можно сделать memento и маппить на EF классы и обратно например. Или использовать backing fields, owned entites, value conversion.
0
UFO just landed and posted this here
Sign up to leave a comment.
Articles
Change theme settings
Типизируйте уже наконец свой код