İyi API tasarımı bir sanattır. İyi API, zaman geçtikten sonra bile takdir edilir. Bence soyut-somut çizgide genel bir önyargı olmamalı. Bazı parametreler haftanın günleri kadar somut olabilir, bazıları genişletilebilirlik için tasarlanmayı gerektirir (ve bunları somutlaştırmak, örneğin, işlev adlarının bir parçası), ancak bir başkası daha da ileri gidebilir ve zarif olması için API bir geri aramalar sağlamak için ihtiyaç duyduğu veya hatta etki alanına özgü bir dil karmaşıklığı mücadele etmek için yardımcı olacaktır.
Ay'ın altında nadiren yeni şeyler oluyor. Önceki tekniğe, özellikle belirlenmiş standartlara ve formatlara bir göz atın (örneğin, yayınlardan sonra birçok şey modellenebilir, olay açıklamaları ical / vcal olarak hazırlandı). Sıklıkla ve her yerde bulunan varlıkların somut ve öngörülen uzantıların sözlükler olduğu API'nizi kolayca katkı yapın. Belirli durumlarla başa çıkabilmek için iyi bilinen bazı modeller de vardır. Örneğin, HTTP isteğinin (ve benzeri) ele alınması, İstek ve Yanıt nesneleriyle birlikte API'de modellenebilir.
API tasarlamadan önce, dahil edilmeyecek olanlar dahil olmak üzere yönler üzerinde beyin fırtınası yapın, ancak bunun farkında olmalısınız. Bunlara örnek olarak dil, yazı yönü, kodlama, yerel ayar, saat dilimi bilgisi ve benzeri verilebilir. Katların görünebileceği yerlere dikkat edin: listeyi kullanın, onlar için tek bir değer değil. Örneğin, görüntülü sohbet sistemi için API istiyorsanız, yalnızca iki değil (şu anda özellikleriniz böyle olsa da) N katılımcısı varsayarsanız API'niz çok daha faydalı olacaktır.
Bazen soyut olmak, karmaşıklığı önemli ölçüde azaltmaya yardımcı olur: Yalnızca 3 + 4, 2 + 2 ve 7 + 6 eklemek için bir hesap makinesi tasarlasanız bile, X + Y (X ve Y'de teknik olarak uygulanabilir sınırlar) uygulamak çok daha kolay olabilir Y ve ADD_3_4 (), ADD_2_2 () yerine API'nize ADD (X, Y) ekleyin ...
Sonuçta, bir yol ya da diğerini seçmek sadece teknik bir detaydır. Belgeleriniz sık kullanım durumlarını somut bir şekilde tanımlamalıdır.
Veri yapısı tarafında ne yaparsanız yapın, bir API sürümü için bir alan sağlayın.
Özetlemek gerekirse, API yazılımınızla ilgilenirken karmaşıklığı en aza indirmelidir. API'yi takdir etmek için, maruz kalan karmaşıklık seviyesi yeterli olmalıdır. API'nin formuna karar vermek, problem bölgesinin kararlılığına büyük ölçüde bağlıdır. Bu nedenle, yazılımın ve API'sinin hangi yönde büyüyeceği konusunda bir tahmin yapılmalıdır, çünkü bu bilgi karmaşıklığın denklemini etkileyebilir. Ayrıca, API tasarımı insanların anlayabilmesi için var. Bulunduğunuz yazılım teknolojisi alanında herhangi bir iyi gelenek varsa, anlamanıza yardımcı olacağı için onlardan fazla sapmamaya çalışın. Kime yazdığına dikkat et. Daha ileri seviyedeki kullanıcılar genelliği ve esnekliği takdir ederken, daha az deneyime sahip olanlar beton ile daha rahat olabilir. Ancak, oradaki API kullanıcılarının çoğuna dikkat edin,
Literatür tarafında, Öncü Programcılara “Güzel Kod” u önerebilirim. Andy Oram, Greg Wilson'dan, güzelliğin gizli iyiliği algılamakla (ve bir amaç için uygunluk) olduğunu düşündüğümden, Andy Wilson'dan bahsedebilirim.