Die erste Antwort ist gut und gibt einige strukturelle Antworten, aber ein anderer Ansatz ist, zu denken über was du tust. In Modulen geht es darum, Methoden zur Verfügung zu stellen, die Sie für mehrere Klassen verwenden können - denken Sie an sie als "Bibliotheken" (wie Sie es in einer Rails-App sehen würden). Klassen sind über Objekte; Module sind über Funktionen.
Zum Beispiel sind Authentifizierungs- und Autorisierungssysteme gute Beispiele für Module. Authentifizierungssysteme arbeiten über mehrere Klassen auf App-Ebene hinweg (Benutzer werden authentifiziert, Sitzungen verwalten die Authentifizierung, viele andere Klassen verhalten sich je nach Authentifizierungsstatus anders), sodass Authentifizierungssysteme als gemeinsam genutzte APIs fungieren.
Sie können auch ein Modul verwenden, wenn Sie Methoden für mehrere Apps freigegeben haben (auch hier ist das Bibliotheksmodell gut).
http : //goo.gl/p95BL6 Dieses Diagramm kann helfen. – shin