autoload in TypeScript???
MB
- typescript
nabend community,
gibt es so was wie einen autoload
in TypeScript
? Ich verzettele mich sehr leicht im importieren von selbst entwickelten Klassen. Wenn ich eine class oder ein Interface geschrieben habe (Fubar) und möchte sie in sehr vielen anderen Klassen (Foo, Bar) verwenden, muss ich dieses Interface / Class (Fubar) in jede Klasse importieren wo ich sie intern verwende. Anscheinend gehts nicht hierarchisch oder ich hab was falsch gemacht :/.
vlg MB
nabend community,
gibt es so was wie einen
autoload
inTypeScript
? Ich verzettele mich sehr leicht im importieren von selbst entwickelten Klassen.
Klassen automatisch laden löst dieses Problem nicht.
Wenn ich eine class oder ein Interface geschrieben habe (Fubar) und möchte sie in sehr vielen anderen Klassen (Foo, Bar) verwenden, muss ich dieses Interface / Class (Fubar) in jede Klasse importieren wo ich sie intern verwende.
Statt Klassen Methoden automatisch laden ist hierzu ein Ansatz. Methoden automatisch laden heißt, dass der Code einer solchen Methode erst in den eigenen (!) Namespace geladen wird, wenn sie aufgerufen wurde.
Logische Konsequenz: Solche Methoden können gemockt werden, d.h. sie sind auch mit einer Attrappe aufrufbar, heißt, sie sind von beliebigen Klasseninstanzen aus aufrufbar -- Problem siehe oben gelöst.
Und ja: Solche Methoden können selbstverständlich auch weitere Klassen einbinden. Gleichermaßen vermeidest Du mit dieser Art der Organisation redundanten Code, alles wird übersichtlcher, wartungsfreundlicher, Team-gefälliger und vor Allem preiswerter.
MfG
moin pl,
also ich habe immer alles sprich Interface, Classes und Functions mit export verwendet. Gilt dieser Import generell in OOP Programmiersprachen nur für eine Klasse?
vlg MB
PS: willst du Codeschnipsel damit du dich besser drauf beziehen kannst?
PS: willst du Codeschnipsel damit du dich besser drauf beziehen kannst?
Ne, ich hab grad mal wieder so richtig c an der Backe aber das war ja schon immer mein Hobby ;)
Viel Erfolg!
PS: Der Begriff Import ist immer mit dem Begriff Namespace verbunden. Die PLs unterscheiden sich nur darin, wie es gemacht wird oder gemacht werden kann, zb. über Code-Referenzen.
moin pl,
Danke :-) und danke für die info
vlg MB
Tach!
also ich habe immer alles sprich Interface, Classes und Functions mit export verwendet. Gilt dieser Import generell in OOP Programmiersprachen nur für eine Klasse?
Nein, da gibt es Unterschiede. Mal wird nur ein Namespace importiert, mal heißte es auch nicht import(ieren) sondern using, mal kann man daraus auch einzelne Dinge holen, mal holt man nur einzelne Dinge und muss mit * mehrere ansprechen.
Dynamisch Dinge zusammenfummeln ist auch keine Strategie, die weit verbreitet ist. Sowas macht die Sachlage nicht einfacher, wenn da noch ein Zusammenbauer mit im Spiel ist. Vom Importieren befreit der übrigens auch nicht. Mir ist auch noch nicht begegnet, dass man import-Statements mit variablem Anteil verwendet hat. Anstatt des Dateinamens kann man vermutlich einen Variable nehmen, aber für den vorderen Teil bezweifle ich, dass da mehr geht als einen *
anzugeben.
dedlfix.
Hi,
ok danke werde ich mich informieren
vlg MB