Информация об изменениях

Сообщение Re[7]: Наследование или фабрика ? от 22.02.2017 17:53

Изменено 22.02.2017 17:57 Gattaka

Re[7]: Наследование или фабрика ?
Здравствуйте, hardcase, Вы писали:

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


G>>Чем не угодил вариант:


G>>
G>>b = ServiceLocator.Resolve<SomeGeneric<X, Y>>();
G>>


H>Тем, что надо таскать ServiceLocator — это раз, а также понять, кто и где продолбал регистрацию, если внезапно не срослось.


Предложенный автором подход с синонимом — самое плохое решение. Читаемость кода ухудшается. Да вы экономите символы при написании инициализации. Но возникает ряд вопросов. Когда и в каких случаях использовать синонимы, а когда нет. Где эта грань? Чтобы было понятнее juniorы c помощью этой конструкции будут городить чудеса. Аля new Sometype(5,7) и new Sometype(4,5).
Вводится еще одна сущность, которая приблизит C# к тому кошмару, что творится в С++.
Re[7]: Наследование или фабрика ?
Здравствуйте, hardcase, Вы писали:

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


G>>Чем не угодил вариант:


G>>
G>>b = ServiceLocator.Resolve<SomeGeneric<X, Y>>();
G>>


H>Тем, что надо таскать ServiceLocator — это раз, а также понять, кто и где продолбал регистрацию, если внезапно не срослось.


Продолбал регистрацию — это вопрос опыта работы с IoC. Неопытные программисты поначалу на структурах могут наколоться. А потом — норм.

Предложенный автором подход с синонимом — самое плохое решение. Читаемость кода ухудшается. Да вы экономите символы при написании инициализации. Но возникает ряд вопросов. Когда и в каких случаях использовать синонимы, а когда нет. Где эта грань? Чтобы было понятнее juniorы c помощью этой конструкции будут городить чудеса. Аля new Sometype(5,7) и new Sometype(4,5).
Вводится еще одна сущность, которая приблизит C# к тому кошмару, что творится в С++.