Mein Ziel ist es, Verträge zwischen Klassen zu definieren.
Ich mag das Entenschreiben und alles, aber ich möchte auch eine Schnittstelle zwischen verschiedenen Ebenen meiner Anwendung definieren, um klar zu definieren, welche Methode von außen aufgerufen werden soll und welche zusätzlichen Methoden von der anderen Ebene nicht verwendet werden sollten .
Zum Beispiel kann ich in Java eine Persistor-Schnittstelle mit Methoden wie get () und save () definieren und dann eine JdbcPersistor-Klasse mit allen Methoden definieren, die ich brauche, um in der Datenbank zu bestehen. Und vielleicht ein anderer RestPersistor mit anderen Methoden zum Speichern auf einem Remote-Restserver.
Ich frage nicht nach Schnittstellen in Ruby, nur um zu wissen, ob es einen ordentlichen Weg gibt, diese Unterscheidung beizubehalten. Ich mag Ruby, aber ich habe nur an kleinen Projekten damit gearbeitet.