Ein Beispiel für eine einfache Ruby on Rails-Anwendung. Es erstellt ein Logger
Objekt während des Ladevorgangs der Anwendung:
# 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."
Meine Frage ist, warum wir nicht Klassenmethoden (oder statische Methoden) für die Protokollierung verwenden? Wird nicht Logger.warn
skalieren als Logger.new.warn
? Oder zumindest Logger.warn
scheint intuitiv als Logger.new.warn
.
Logger.new
Welche Vorteile bietet ein einzelnes Objekt, selbst wenn es sich um ein einzelnes Objekt handelt?