— Asynchronous injection
Проблема не решилась. Бизнес правило приходит снаружи конструктора/фабричного метода. Я как нехороший программист обязательно положу в туда бяку.
— Internal for infra
В одной сборке с бизнес логикой будет валяться инфра код. Не чисто.
Если ты хочешь все запараллелить чтобы ускориться, то обломись
А вот и не обломись:
public async Task<List<Blog>> GetBlogsAsync()
{
using (var context = new BloggingContext())
using (var context2 = new BloggingContext())
{
// parallel queries
}
}
Если в разных источниках конфигурации присутствуют одинаковые ключи (сравнение идет без учета регистра), то используется значение, которое было добавлено последним.
Это не всегда так. Для массивов будет просто добавление элемента в массив.
А если для инициализации агрегата потребуется over 20 параметров. Делать конструктор с кучей параметров?
И что делать если логика должна предполагать как полную так и частичную инициализацию агрегата?
Предупреждение PVS-Studio: V3083 Unsafe invocation of event 'Started', NullReferenceException is possible. Consider assigning event to a local variable before invoking it. Evaluator RecommenderRun.cs 115
Здесь вообще много чего может произойти и не помогут ни local variable ни elvis оператор. Например можно задиспозить один из подписчиков во время вызова других.