Paras vastaus
Menettelyllinen abstraktio on, kun tiedämme, mitä menetelmä tai menettely tekee tai mitä haluamme sen tekevän, mutta emme tiedä miten se tekee sen.
Tällä hetkellä kirjoitan tämän vastauksen Quoraan, ja kun napsautan Lähetä, odotan sen näkyvän syötteessäni. Tiedän, että on olemassa menetelmiä, jotka hyväksyvät vastaukseni, tallentavat sen jonnekin. Mutta minulla ei todellakaan ole aavistustakaan siitä, miten se toteutetaan.
Jos sovellamme tätä Java-sovellukseen, käytät paljon menetelmiä eri Java-paketeista. Esimerkiksi jos haluan tulostaa merkkijonon alaosan
String str=”Hello world”
String s1=str.substring(0,6);
Nyt yllä olevassa koodissa haluan, että alaosamenetelmä palauttaa osan merkkijonosta alusta 6. merkkiin. Mutta miten osajonomenetelmä toteuttaa tämän toiminnon, minulla ei todellakaan ole aavistustakaan, eikä se ole minulle tärkeää.
Vastaus
abstraktio on yleinen käsite, joka kattaa paljon erilaisia asioita. .
HTML on peruskieli, ja jos sinun täytyy tehdä verkkokehitys, sinun on opittava se, ellet aio tehdä yleiskäyttöisiä sivuja, joilla on hyvin vähän toiminnallisia valmiuksia.
Jossain vaiheessa ajan mittaan sinun on tarkasteltava HTML-koodia ja selvitettävä, mitä abstraktiosi teki väärin.
abstraktio (yleinen):
- Ne tekevät asioista hitaampia, abstraktiokerrokset pyrkivät käsittelynopeudella on kustannuksia.
- Tämä ei välttämättä ole iso asia monille, mutta se voi alkaa kasvaa nopeasti.
- Kirjoitin kerran Ruby-kirjoitetun sovelluksen, joka oli niin abstraktii luettelon lataaminen kesti tunteja (kirjaimellisesti), kirjoitin sen jaavaan ja muutin sen noin 3 minuutiksi, lisäsin joihinkin avaimiin tietokantaan ja toin sen muutamaan sekuntiin.
- PHP sivu, jonka lataaminen kesti 2 minuuttia, uudelleenkirjoittamisen jälkeen PHP: hen kesti 3–4 sekuntia, sekoittaminen tietokantaan pudotti sen 2 sekuntiin. (90\% latausaikasta oli sen jälkeen kehys, mikä tarkoittaa huonoa kehystä).
- Yhteinen tekijä, vähennän abstraktion tasoa merkittävästi. Python on komentosarjakieli, kuten PHP, mikä tarkoittaa, että sen on rakennettava abstraktiokerrokset joka kerta, mikä voi tulla kalliiksi.
- se voi vaikeuttaa virheenkorjausta / seuraamista. Abstraktio tekee yksikön (luokat tai menetelmät) yleensä helpommin seurattavaksi, mutta on vaikeampi nähdä, kuinka ne sitoutuvat kokonaisuuteen (integraatio), koska tällaiset virheet pyrkivät siirtymään pois ja vaikeuttamaan niiden löytämistä.
- plus, viat ovat vähemmän todennäköisiä. Vaikka ne ovat yleensä näyttävämpiä, kun ne löytyvät.
- Se pyrkii nopeuttamaan kehitystä (pisteeseen), mutta liikaa voi hidastaa kehitystä, raskaat kehykset, kuten Zend Framework (PHP), Spring (Java) ovat erinomaisia esimerkkejä raskaasta kädestä kehyksistä, jotka on periaatteessa yli suunniteltu.
Toivon, että tämä antaa sinulle jonkinlaisen käsityksen.