Ce este abstractizarea procedurală?


Cel mai bun răspuns

Abstracția procedurală este atunci când știm ce face o metodă sau procedură sau ce vrem să facă, dar nu știm cum o face.

În acest moment, scriu acest răspuns în Quora și, când fac clic pe Trimitere, mă aștept să apară în feedul meu. Știu că există metode care vor accepta răspunsul meu, salvați-l undeva. Dar chiar nu am nicio idee despre cum este implementat.

Dacă aplicăm acest lucru la Java, utilizați o mulțime de metode, din diferitele pachete Java. De exemplu, dacă vreau să tipăresc șirul de caractere al unui șir

String str=”Hello world”

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

Acum, în codul de mai sus, vreau ca metoda sub-șir să-mi returneze partea din șir de la început până la al 6-lea caracter. Dar cum implementează metoda subșirului această funcționalitate, nu am nicio idee despre asta și nici nu este importantă pentru mine.

Răspuns

abstractizarea este un concept general care acoperă o mulțime de lucruri diferite .

HTML este un limbaj de bază și, dacă aveți nevoie să faceți dezvoltare web, trebuie să îl învățați, cu excepția cazului în care intenționați să faceți pagini de uz general cu capacități funcționale foarte mici.

La un moment dat în timp va trebui să te uiți la HTML și să-ți dai seama ce a făcut greșit abstractizarea ta.

abstractizare (generală):

  • Fac lucrurile mai lente, straturile de abstractizare tind să au un cost în viteza de procesare.
  • Este posibil să nu fie o mare problemă pentru mulți, dar poate începe să se adune rapid.
  • Odată am rescris o aplicație scrisă în Ruby, care a fost așa abstractizat, a fost nevoie de ore pentru a încărca o listă (Literal), am rescris-o în java și am transformat-o în aproximativ 3 minute, am adăugat în câteva chei la baza de date și am redus-o la câteva secunde.
  • Un PHP pagina care a durat 2 minute pentru încărcare, după ce l-ați rescris în PHP, a durat 3-4 secunde, iar jocul cu baza de date a scăzut la 2 secunde. (90\% din timpul de încărcare a fost cadrul după aceea, adică un cadru slab).
  • Factorul comun, reduc semnificativ nivelul de abstractizare. Python este un limbaj scriptat, ca PHP, adică trebuie să reconstruiască straturile de abstractizare de fiecare dată, acest lucru poate deveni costisitor.
  • poate face lucrurile mai greu de depanat / urmat. Abstracția face, în general, unitatea (clase sau metode) mai ușor de urmărit, dar mai greu de văzut cum se leagă de ansamblu (integrare), deoarece astfel de erori tind să se deplaseze și să devină mai greu de găsit.
  • plus, erorile sunt mai puțin probabile. Deși au tendința de a fi mai spectaculoase atunci când sunt găsite.
  • Tinde să facă dezvoltarea mai rapidă (până la un punct), cu toate acestea prea mult poate încetini dezvoltarea, cadrele grele, cum ar fi Zend Framework (PHP), Spring (Java) sunt exemple grozave de cadre cu mâini grele, care sunt practic supradimensionate.

Sper că acest lucru vă va da o idee.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *