Biorąc przykład prostej aplikacji Ruby on Rails. Tworzy Loggerobiekt podczas procesu ładowania aplikacji:
# 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."
Moje pytanie brzmi: dlaczego nie używamy metod klasy (lub metod statycznych) do logowania? Czy nie będzie Logger.warnskali niż Logger.new.warn? Lub przynajmniej Logger.warnwydaje się intuicyjny niż Logger.new.warn.
Nawet jeśli Logger.newjest to obiekt singletonowy, jakie oferuje zalety?