Pytania otagowane jako api-design

Interfejs programowania aplikacji (API) omawia najlepsze praktyki tworzenia bibliotek przeznaczonych do ogólnego użytku lub użytku publicznego.

1
Idiomatyczne zawijanie interfejsu API typu C ++ w C
Pracuję nad opakowaniem interfejsu API języka C ++, który zapewnia dostęp do magazynu danych (Hazelcast) w funkcjach C, aby dostęp do magazynu danych był również możliwy z kodu tylko w języku C. Interfejs API Hazelcast C ++ dla struktury danych mapy wygląda następująco: auto map = hazelcastClient->client->getMap<int, string>(mapName); map.put(key, value); …
9 c++  c  api-design 

3
CRUD API: Jak określić, które pola należy zaktualizować?
Załóżmy, że masz jakąś strukturę danych, która jest utrwalona w jakiejś bazie danych. Dla uproszczenia nazwijmy tę strukturę danych Person. Masz teraz zadanie zaprojektowania interfejsu CRUD API, który pozwala innym aplikacjom tworzyć, czytać, aktualizować i usuwać Persons. Dla uproszczenia załóżmy, że dostęp do tego interfejsu API można uzyskać za pośrednictwem …

2
Czy nasłuchiwanie zdarzeń powinno odbywać się w słabych referencjach?
Zwykle detektory zdarzeń nie powinny przeżyć obiektu, który je zarejestrował. Czy to oznacza, że ​​detektory zdarzeń powinny być domyślnie przechwytywane przez słabe referencje (przechowywane w słabych kolekcjach przez obiekty, w których nasłuchują rejestratorzy)? Czy istnieją uzasadnione przypadki, w których słuchacz powinien przeżyć swojego twórcę? A może taka sytuacja jest błędem …

1
Interfejsy API kontroli wersji
Załóżmy, że masz duży projekt obsługiwany przez bazę API. Projekt udostępnia także publiczny interfejs API, z którego mogą korzystać użytkownicy końcowi (ish). Czasami musisz wprowadzić zmiany w bazie API obsługującej Twój projekt. Na przykład musisz dodać funkcję, która wymaga zmiany interfejsu API, nowej metody lub wymaga zmiany jednego z obiektów …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.