Biorąc przykład prostej aplikacji Ruby on Rails. Tworzy Logger
obiekt 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.warn
skali niż Logger.new.warn
? Lub przynajmniej Logger.warn
wydaje się intuicyjny niż Logger.new.warn
.
Nawet jeśli Logger.new
jest to obiekt singletonowy, jakie oferuje zalety?