Візьмемо приклад простого додатка Ruby on Rails. Він створює Loggerоб'єкт під час завантаження програми:
# in environment.rb
config.logger = Logger.new(<STDOUT | file | whatever>)
# and in our application we use this object
logger.warn "This process is taking too long to process. Optimization needed."
Моє запитання: чому ми не використовуємо методи класу (або статичні методи) для ведення журналів? Не буде Logger.warnмасштабу, ніж Logger.new.warn? Або щонайменше Logger.warnздається інтуїтивно зрозумілим, ніж Logger.new.warn.
Навіть якщо Logger.newце однотонний об'єкт, які переваги він пропонує?