Вот проблема, с которой я боролся с тех пор, как я начал изучать объектно-ориентированное программирование: как реализовать логгер в «правильном» OOP-коде?Правильный вход в контекст ООП
Под этим подразумевается объект, у которого есть метод, по которому мы хотим, чтобы каждый другой объект в коде имел доступ; этот метод выводит на консоль/файл/все, что мы будем использовать для ведения журнала - следовательно, этот объект будет объектом журнала.
Мы не хотим, чтобы объект регистратора являлся глобальной переменной, поскольку глобальные переменные являются плохими, не так ли? Но мы также не хотим пропускать объект журнала в параметрах каждого метода, который мы вызываем в каждом отдельном объекте.
В колледже, когда я довел это до профессора, он не мог дать мне ответа. Я понимаю, что на самом деле есть пакеты (например, Java), которые могут реализовать эту функциональность. Тем не менее, я в конечном счете ищут знания о том, как правильно и в ООП реализовать это.
Не мог бы лучше сказать это. – 2008-09-17 19:32:09