Евгений Шатунов, Ну, этот LSP сюда, вроде, не подходит, потому что базовый класс вообще в реальном коде не используется и не вызывается, и написан только как родитель с нужными методами для потомков.
Остальное буду читать ща :(
Евгений Шатунов, Почему несвязанная ? Внутри функции NotVirtualF всегда вызывается функция PutData, только разное количество раз с разными данными. NotVirtualF могла бы быть функцией ПосмотретьТелевизорНаДиванеВечером, где каждый пользователь смотрит разные каналы, но общий смысл просмотра одинаковый. И мне надо запустить вечерний просмотр для 20 пользователей сразу.
Попробую почитать про эти визитеры и фабрики, вдруг поможет, спасибо :)
Евгений Шатунов, "Методы расчётов и планирования" - эти слова как бальзам на сердце. А у нас переменные и структуры называются: bla-bla и common_area. И это не шутка! А у меня опыта работы не хватает, чтобы всё это разгрести.
Особенно если уже кто-то другой криво реализовал код (по методу наименьшего сопротивления), а ты тупо смотришь на эти функции и думаешь, чё делать. Втыкать ооп и вообще всё рефакторить?
Евгений Шатунов, somefunc - это одна функция, а булева - другая.
Если конкретно, то вычитывается значение по адресу, а адрес - это значение одного из полей enum.
А теперь блабла может иметь двойной набор значений в зависимости от результата булевской функции. И я хочу красивую реализацию, а не пихать в каждую somefunc (их несколько) результат вызова булевской функции.
Остальное буду читать ща :(