Co je procedurální abstrakce?


Nejlepší odpověď

Procedurální abstrakce je, když víme, co metoda nebo procedura dělá nebo co chceme dělat, ale nevíme jak to dělá.

Právě teď zadávám tuto odpověď v Quora a když kliknu na Odeslat, očekávám, že se objeví v mém zdroji. Vím, že existují metody, které moji odpověď přijmou, někam ji uloží. Ale opravdu netuším o tom, jak je implementováno.

Pokud to aplikujeme na Javu, použijete spoustu metod z různých balíčků Java. Například pokud chci vytisknout podřetězec řetězce

String str=”Hello world”

String s1=str.substring(0,6);

Nyní ve výše uvedeném kódu chci, aby mi metoda podřetězce vrátila část z řetězce od začátku do 6. znaku. Ale jak metoda Subring implementuje tuto funkcionalitu, opravdu o ní nemám ponětí, ani to pro mě není důležité.

Odpověď

abstrakce je obecný koncept, který pokrývá mnoho různých věcí .

HTML je základní jazyk, a pokud potřebujete vývoj webových aplikací, musíte se ho naučit, pokud neplánujete vytvářet stránky pro všeobecné použití s ​​velmi malou funkční schopností.

V určitém okamžiku časem se budete muset podívat na HTML a zjistit, co vaše abstrakce udělala špatně.

abstrakce (obecně):

  • Dělají věci pomaleji, abstrakční vrstvy mají tendenci mít náklady na rychlost zpracování.
  • Pro mnoho to nemusí být velký problém, ale může se to začít rychle sčítat.
  • Jednou jsem přepsal aplikaci napsanou v Ruby, která byla taková abstrahoval, že načtení seznamu trvalo hodiny (doslova), přepsal jsem to v Javě a proměnil jsem to asi na 3 minuty, přidal jsem některé klíče do databáze a na pár sekund jsem to snížil.
  • A PHP stránka, jejíž načtení trvalo 2 minuty, po jeho přepsání do PHP to trvalo 3–4 sekundy, potíže s databází to snížily na 2 sekundy. (90\% doby načítání byl rámec poté, což znamená špatný rámec).
  • Společný faktor, významně snižuji úroveň abstrakce. Python je skriptovaný jazyk, jako je PHP, což znamená, že musí pokaždé znovu vytvářet abstrakční vrstvy, což může být nákladné.
  • může ladění a sledování věcí ztížit. Abstrakce obecně usnadňuje sledování jednotky (tříd nebo metod), ale je těžší vidět, jak se váží k celku (Integrace), protože takové chyby mají tendenci se pohybovat a najít je těžší.
  • plus, chyby jsou méně pravděpodobné. I když mají tendenci být působivější, když jsou nalezeny.
  • Má tendenci zrychlovat vývoj (do určité míry), avšak příliš mnoho může vývoj zpomalit, těžké rámce jako Zend framework (PHP), Spring (Java) jsou skvělými příklady těžkopádných rámců, které jsou v zásadě nadměrně navrženy.

Doufám, že vám to dá nějakou představu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *