Skip to content

Instantly share code, notes, and snippets.

@Kcko
Created March 26, 2020 09:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Kcko/a353bd503fc7117d2df311cfc43d75bb to your computer and use it in GitHub Desktop.
Save Kcko/a353bd503fc7117d2df311cfc43d75bb to your computer and use it in GitHub Desktop.
  1. Přístup k údajům vždy v rámci třídy zapouzdřete a poskytněte metody, pomocí nichž lze dané údaje získat.
  2. Svá rozhraní navrhujte tak, aby je bylo možné později rozšířit.
  3. V metodách tříd nezapouzdřujte jen údaje, ale také algoritmy, díky čemuž budou komplexní operace implementované centrálně na jednom místě.
  4. Znovupoužitelnost kódu je lepší než duplicitní kód.
  5. Vyvarujte se monolitickým strukturám a rozložte je na co nejmenší části, které mohou být implementované nezávisle na sobě. Pokud používáte rozsáhlé příkazy if/elseif/else nebo switch, popřemýšlejte, zda by se nedaly nahradit zaměnitelnými třídami.
  6. Dědění vede k neflexibilním strukturám. Na kombinaci různých funkcí používejte raději kompozice objektů.
  7. Vždy programujte vůči rozhraní, a nikdy ne vůči konkrétní implementaci.
  8. Vyhýbejte se těsným závislostem mezi jednotlivými třídami aplikace a vždy upřednostnujte volné vazby tříd.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment