Я новичок в Python, и я должен разработать Python API (версия - 2.7), аналогичную существующей Java APIPython дизайн API для существующих Java API
Python версии - 2,7
Java- API выглядит следующим образом
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
}
эквивалент дизайн Python API, который я придумал это
Approach1
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
Approach2
Могу ли я использовать затворы непосредственно передать контекст для создания функции класса процессов, так что я могу устранить класс Client
Примечание создать метод класса Process будет обрабатывать async-задачи, которые могут быть выполнены с использованием пакета concurrent.futures из python.
Я хочу знать, какой из 2-х подходов хорошо
Также открыты для лучших подходов, а также.
Благодарим за отзыв. Не могли бы вы рассказать, как я могу передать контекст непосредственно функции create класса Process – user3451476
, что было бы просто просто создать объект клиента и передать его непосредственно для обработки, как этот create (Client(). Execute (context)) – Hani
Клиент является абстрактным класс здесь – user3451476