Ich entwerfe eine API und möchte, dass sie einfach zu verwenden ist. Also, wenn ich Kunden, Kontoauszüge und Zahlungen habe. Sind Objekte wie Kunde, CustomerHandler, Statement, StatementHandler, Payment, PaymentHandler sinnvoll? Auf diese Weise kann der Entwickler, wenn er etwas mit Kunden machen möchte, einen CustomerHandler erstellen und dann alle möglichen Funktionen, die man mit einem Kunden ausführen möchte, im Handler befinden.Wie organisiert man API?
Methoden wie: CustomerHandler: AddCustomer (Kunde), GetCustomer (customerID), GetCustomerCount() ... StatementHandler: AddStatement (customerID), getStatement Gibt (statementId), GetStatementCount (customerID) ... PaymentHandler: GetPaymentsByCustomer (customerID), GetPayment (paymentID), GetPaymentCountByCustomer (customerID) ...
Auf diese Weise kann der Entwickler, wenn er Zahlungen empfangen möchte, zum PaymentHandler gehen. Mein Kollege dachte, dass Funktionen wie GetPayments (customerID) in eine Klasse gehören, die den Kunden verwaltet. Also, es wäre wie Customer.GetPayments() AS Payments. Aber wenn ich eine andere Entität wie Worker hätte, gäbe es Worker.GetPayments() AS Payments. Also sehe ich die Logik bei beiden Ansätzen. Der erste gruppiert die Dinge zusammen, so dass, egal, von wem die Zahlung kommt, Sie alles aus einer Klasse bekommen, indem Sie Funktionen wie GetPaymentsByCustomer (CustomerID) und GetPaymentsByWorker (WorkerID) haben. Auf diese Weise muss man nicht durch verschiedene Handler- oder Manager-Objekte stolpern, um Zahlungen zu erhalten. Beide Ansätze ergeben für mich einen Sinn, wie steht es mit dir? Oder sind wir beide weg und es gibt einen besseren Weg, dies zu tun? Vielen Dank im Voraus!
Wow, das geht wirklich über meinen Kopf. Ich denke, ich muss das Buch holen. –
Bitte mach dir keine Sorgen. Es ist keine Raketenwissenschaft. Es ist ein sehr gut geschriebenes Buch, das leicht zu lesen ist - besonders, wenn Sie schon einige dieser Arbeiten gemacht haben. –