# Návrh API ## Proces návrhu
# Návrh API ## Obecné principy
# Návrh API ## Návrh tříd

Doporučení pro návrh tříd

Transformace metod s vedlejšími významy

Původní kód Transformace

              public abstract void method();
            

              public final void method() {
                methodImpl();
              }

              protected abstract void methodImpl();
            

              public void method() {
                someCode();
              }
            

              public final void method() {
                methodImpl();
              }

              protected abstract void methodImpl();
              protected final void someCode() {
              }
            

              protected void method() {
                someCode();
              }
            

              protected abstract void method();
              protected final void someCode() {
              }
            
# Návrh API ## Návrh metod