2016-08-05 19 views
0

Ich bin mir nicht sicher, ob der Titel wirklich meine Frage beschreibend ist, aber ich weiß nicht, wie man es besser formuliert. Ich arbeite mit einer API, die eine Util-Klasse für GUI-Tests hat. Innerhalb der Util-Klasse gibt es viele Funktionen wie Klick-, Typ- und andere GUI-Interaktionen. Ich frage mich, was die Vorteile und Nachteile sind, eine Instanz von Util in meiner Klasse zu erstellen vs Aufruf von Util() direkt.Erstellen einer einzelnen Instanz eines Objekts für die Komposition vs SomeClass(). SomeMethod() Leistung

Beispiel:

class SomeClass: 
    def __init__(self): 
     self.util = Util() 
     #The rest of the init code 
    def typeSomething(self, text): 
     self.util.type(text) 

vs

class SomeClass: 
    def __init__(self): 
     #The rest of the init code 
    def typeSomething(self, text): 
     Util().type(text) 

Diese Frage ist im Wesentlichen nur aus Neugier und zu lernen, wie ich es gehe davon wird kein Mensch spürbar entweder Weg. Vielen Dank im Voraus für die Antworten.

Antwort

0

Wie Sie bereits erwähnt haben, kann es in Bezug auf die Leistung irrelevant sein. So irrelevant, dass es sogar schwierig sein könnte zu sagen, welche Methode schneller wäre. Wenn Sie jedoch wissen, dass das Konstruieren von Util() teuer ist und Sie häufig typeSomething(...) aufrufen, wird die Instanz von util zu einer Ressource und sollte Mitglied sein.