Обновить
4
0

Жсоноукладчик третьего разряда

Отправить сообщение

Ошибка на миллион долларов

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

Можно сначала скомпилировать быстро а потом при необходимости в фоне перекомпилировать уже с оптимизациями.
https://github.com/dotnet/runtime/blob/master/docs/design/features/tiered-compilation.md

Статью кроме рекламы можно под спойлер убрать

У вас уже есть в статье вариант как хранить секреты на dev машине.


.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);

Можно добавить в gitignore файл appsettings.Development.json и в нем хранить настройки и секреты

— Asynchronous injection
Проблема не решилась. Бизнес правило приходит снаружи конструктора/фабричного метода. Я как нехороший программист обязательно положу в туда бяку.

— Internal for infra
В одной сборке с бизнес логикой будет валяться инфра код. Не чисто.
Бизнес-логике не место в бд так как SQL для неё не предназначен
Если ты хочешь все запараллелить чтобы ускориться, то обломись

А вот и не обломись:
public async Task<List<Blog>> GetBlogsAsync()
{
    using (var context = new BloggingContext())
    using (var context2 = new BloggingContext())
    {
         // parallel queries
    }
}
Ну можно сделать memento и маппить на EF классы и обратно например. Или использовать backing fields, owned entites, value conversion.

На сколько помню ничего не заменяется. Просто добавляется. Например в случае массива в appsettings.json и appsettings.Development.json

Если в разных источниках конфигурации присутствуют одинаковые ключи (сравнение идет без учета регистра), то используется значение, которое было добавлено последним.

Это не всегда так. Для массивов будет просто добавление элемента в массив.
Ну так это просто Property/Method Injection, а не декоратор.
Пример декоратора:
public class LoggingLayer : ILayer
{
	private readonly ILogger _logger;

	private readonly ILayer _decorated;

	public LoggingLayer(ILayer decorated, ILogger logger)
	{
		_decorated = decorated;
		_logger = logger;
	}

	public void Write(string text)
	{
		_logger.Log(text);
		_decorated.Write(text);
	}
}
Фактически мы реализовали паттерн «Декоратор».

Декоратор вроде должен реализовать тот же интерфейс что и декорируемый.
А если для инициализации агрегата потребуется 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 оператор. Например можно задиспозить один из подписчиков во время вызова других.
А почему бы не сделать выделение метода для условий и назвать его нормально?
IsDigit, IsUpperLetter, IsLowerLetter?
Интересно на каком основании автор считает что парадокс разрешился?
ru.m.wikipedia.org/wiki/Апории_Зенона#Современная_трактовка
А что будет с NuGet-пакетами?

Информация

В рейтинге
6 732-й
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Ведущий