Nivelul de abstractizare (programare)

Exemple de modele de software folosind straturi de abstractizare includ șapte straturi modelului OSI pentru rețele de calculatoare, protocoale de transmisie de date. Primitive OpenGL grafică bibliotecă. Modelul de intrare-ieșire pe baza fluxului de octet Unix. adaptat MS DOS. Linux și majoritatea celorlalte sisteme de operare moderne.

Sistemul de operare Unix, cele mai multe tipuri de operațiuni de intrare-ieșire sunt tratate ca fluxuri de octeți care sunt citite sau scrise la aparat. Acest flux de model de octeți este utilizat pentru intrare-ieșire într-un fișier. priza și terminalul computerului. pentru a asigura independența dispozitivelor de intrare-ieșire. Pentru citire și scriere dispozitiv la programul de nivel aplicație determină funcția de deschidere a dispozitivului, care poate corespunde dispozitivului reale, cum ar fi un terminal sau un dispozitiv virtual. de exemplu, un port de rețea sau un fișier în sistemul de fișiere. Caracteristicile fizice ale dispozitivului trecut la sistemul de operare, care, la rândul său, oferă o interfață abstractă. permite programatorului să citească și să scrie octeți la dispozitiv. Sistemul de operare efectuează apoi acțiunile necesare pentru a lucra cu un anumit dispozitiv.

Cele mai multe biblioteci grafice. de exemplu, OpenGL, oferă o interfață abstractă ca model grafic. Biblioteca este responsabilă pentru difuzarea instrucțiunilor de program în comenzile necesare pentru desenarea elementelor grafice și obiecte de un dispozitiv special. comenzi speciale pentru plotter diferă de comenzi pentru a monitoriza. dar biblioteca grafica ascunde dependente de implementare părți ale dispozitivului, oferind o interfață abstractă care conține un set de primitive. de obicei utilizate pentru a desena obiecte grafice.

Design-ul spre problemă a structurii pe scară largă (domeniu) pot utiliza niveluri de responsabilitate model (Eng. Straturi de responsabilitate). De exemplu, modelul de domeniu pot fi împărțite în niveluri (de sus în jos), „suport de decizie“, „Operațiunea“ și „Oportunități industriale“, în care entitatea de un nivel superior bazat pe spiritul inferior, dar nivelul inferior nu depinde de sus a [1 ].

celebrul aforism David Wheeler merge: Toate problemele din domeniul științei calculatoarelor pot fi rezolvate la un alt nivel într-un mod sens giratoriu; [2] de multe ori este citat incorect înlocuirea „ocol“ la „abstracție“. Continuare din Kevlina Henni spune: „... cu excepția problemelor cu un înalt nivel de indirectare.“

Adesea, nivelurile de abstractizare sunt organizate într-o ierarhie a nivelurilor de abstractizare. model de rețea OSI conține șapte straturi de abstractizare. Fiecare model de nivel OSI ISO are în vedere o parte separată a cerințelor pentru organizarea de comunicare, reducând astfel complexitatea soluțiilor de inginerie.

În mod ideal, abstractizare protejează complet stratul superior de la detaliile de implementare care stau la baza. Cu toate acestea, într-un caz mai mult sau mai puțin complexe pentru a atinge idealul de aproape imposibil, și-a exprimat că Dzhoel Spolski o lege a captărilor neetanșe (Eng.) Din Rusia. [3] [4]:

Toate abstractiuni non-triviale neetanșe.

articole similare