Veřejné rozhraní - Public interface
![]() | tento článek potřebuje další citace pro ověření.Listopadu 2019) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
A veřejné rozhraní je logický bod, ve kterém nezávislé softwarové entity interagují. Entity mohou vzájemně interagovat v rámci jednoho počítače, v síti nebo v celé řadě dalších topologií. Aby mohla interakce pokračovat, je důležité, aby veřejná rozhraní byla stabilní a navržená tak, aby podporovala budoucí změny, vylepšení a ukončení podpory.
Design
![]() | tento článek obsahuje pokyny, rady nebo návody k obsahu.Listopadu 2019) ( |
Vedení
- Projekt musí poskytnout další dokumenty popisující plány a postupy, které lze použít k vyhodnocení souladu projektu.
- Poskytněte dokument návrhu architektury.
- Poskytněte dokument standardů kódování.
- Poskytněte dokument s plánem vydání softwaru.
- Poskytněte dokument s plánem na ukončení zastaralých rozhraní.
- Vytvořte plně izolované třídy.
- Izolovat veřejná rozhraní od závislostí při kompilaci.
Osvědčené postupy
- Představte uživateli úplné a koherentní sady konceptů.
- Navrhněte rozhraní, která se mají staticky psát.
- Minimalizujte závislosti rozhraní na jiných rozhraních.
- Express rozhraní z hlediska typů na úrovni aplikace.
- Použijte tvrzení pouze k podpoře rozvoje a integrace.
Příklady
- C ++ rozhraní
- K definování veřejných rozhraní použijte třídy protokolu.
- Vlastnosti třídy protokolu jsou:
- Neobsahuje ani nedědí z tříd, které obsahují členská data, nevirtuální funkce nebo soukromé (nebo chráněné) členy jakéhokoli druhu.
- Má nelineární virtuální destruktor definovaný s prázdnou implementací.
- Všechny členské funkce jiné než destruktor, včetně zděděných funkcí, jsou deklarovány jako čisté virtuální a zůstávají nedefinované.
- Výhody
- Mezi výhody používání tříd protokolu patří:
- Izolace aplikací od externího klienta
- Izolační změny, které jsou interní v rozhraní
- Izolační změny veřejného rozhraní od změn po implementaci rozhraní
- Izolace má náklady, ale ty mají tendenci být vyváženy zisky v interoperabilitě a opětovném použití.
- Náklady:
- Prochází ukazatelem implementace
- Přidání jedné úrovně indirection na každý přístup
- Přidání velikosti ukazatele implementace na objekt k požadavkům na paměť
Reference
- Různé metodiky, jako např refaktorování, podporovat určování rozhraní. Refaktoring se obecně vztahuje na celou implementaci softwaru, ale je obzvláště užitečný při správném vypláchnutí rozhraní.
- Existují další přístupy definované prostřednictvím vzorové komunity. Tyto metodiky můžete získat od vzorové komunity na adrese [1].
- Viz „Java Design: Building Better Apps & Applets“, kde najdete dobrou úvodní metodiku, která platí také pro komunitu C / C ++.