Was ist die bevorzugte Methode, um Hilfsmethoden in Ruby zu verwenden?

8

Haftungsausschluss: Obwohl ich im Zusammenhang mit einer Rails-Anwendung frage, spreche ich nicht über Rails-Helfer (d. h. Helfer anzeigen)

Nehmen wir an, ich habe eine Hilfsmethode / Funktion:

%Vor%

Jetzt möchte ich das von mehreren verschiedenen Orten (meist Controller, aber auch ein paar BackgrounDRb Arbeiter)

verwenden

Was ist der bevorzugte Weg, dies zu tun?

Ich kann mir zwei Möglichkeiten vorstellen:

1. Verwenden Sie eine Klasse und machen Sie den Helper zu einer statischen Methode:

%Vor%

2. Verwenden Sie ein Modul und fügen Sie die Methode in jede Klasse ein, für die ich diese Funktionalität benötige.

%Vor%

3. Andere Möglichkeiten kenne ich noch nicht

%Vor%

Der erste ist mehr Java-ähnlich, aber ich bin nicht sicher, ob der zweite wirklich eine angemessene Verwendung von Rubys Modulen ist.

    
Daniel Rikowski 25.04.2010, 09:45
quelle

2 Antworten

2

Der Modulansatz ist die Richtung, die ich einschlagen würde. Ich bevorzuge es wegen seiner Flexibilität und wie schön es Ihnen ermöglicht, Ihren Code zu organisieren. Ich nehme an, Sie könnten argumentieren, dass sie nur eine andere Form von Mixin sind. Ich denke immer Mixins als direkte Erweiterungen einer bestimmten Klasse

%Vor%

Das scheint immer sehr spezifisch zu sein, wohingegen der Modulansatz jede Klasse, in die Sie ihn einbeziehen, erweitern kann.

Gleicher

    
Peer Allan 26.04.2010, 00:57
quelle
2

Wenn Sie das in Ihren Controllern und anderem Code verwenden möchten, können Sie ein Mix-In erstellen und es zu Ihrem Anwendungs-Controller hinzufügen, von dem andere Controller stammen, so dass Sie es in Ihren Controllern haben können kann das Modul zu anderen externen Klassen hinzufügen.

    
Francisco Soto 25.04.2010 09:47
quelle

Tags und Links