Ich bin neu in Python und ich habe ein Python-API zu entwerfen (Version - 2.7), ähnlich ein bestehendes Java APIPython API-Design für bestehende Java API
Python-Version - 2.7
Die Java API ist als
public interface Process<T> {
Future<T> create(Client<T> client)
//Other methods
}
public interface Client<T> extends Serializable {
T execute(ClientContext c)
//Other methods
}
public interface ClientContext {
File createFile(String path)
//Other methods
}
Die äquivalente Python API folgt Design, das ich gekommen sind, mit ist
Ausrichtung1
class Process:
__metaclass__ = ABCMeta
@abstractmethod
def create(self, client):
pass
class Client:
__metaclass__ = ABCMeta
@abstractmethod
def execute(self, context):
pass
class ClientContext:
__metaclass__ = ABCMeta
@abstractmethod
def createFile(self, path):
pass
Ansatz2
Kann ich Verschlüsse verwenden, um direkt den Kontext zu dem Erstellen Funktion der Process-Klasse übergeben, so dass ich die Client-Klasse beseitigen
Hinweis Das erstellen Die Methode der Process-Klasse verarbeitet asynchrone Tasks, die mit dem Paket concurrent.futures aus Python ausgeführt werden können.
Ich will gut, welche der zwei Ansätze wissen ist,
auch offen als auch zu einem besseren Ansätzen.
Vielen Dank für die Antwort. Könnten Sie sagen, wie ich den Kontext direkt an die create-Funktion der Prozessklasse übergeben kann – user3451476
, die wäre einfach nur Client-Objekt erstellen und übergeben Sie es direkt zu verarbeiten wie diese erstellen (Client(). Ausführen (Kontext)) – Hani
Client ist ein Auszug Klasse hier – user3451476