Корректность ООП решений
От: varenikAA  
Дата: 24.06.21 04:24
Оценка:
Код C#.
Имеем модульную архитектуру с базовой реализацией модуля(0 вариант(:
        public virtual void Start()
        {
           Log($"{Name} Started.");
        }


В основном коде приложения
foreach(var module in modules)
{
    module.Start();
}

В реализации модуля
   public override void Start()
        {
        base.Start(); // <= логично вызвать вначале базовый, не так ли?        
        Do(); // <= но тут может что-то пойти не так.
        }



может так(1 вариант(:
foreach(var module in modules)
{
    module.Start();
    Log($"{module.Name} Started.");
}


или так(2 вариант(:

    protected abstract void OnStart();
        public void Start()
        {
       OnStart();    
           Log($"{Name} Started.");
        }
☭ ✊ В мире нет ничего, кроме движущейся материи.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.