Modulare de programare

Modulul este un fragment complet al programului. În multe limbi (dar nu neapărat) este proiectat ca un fișier separat cu codul sursă sau o parte numită continuă a acestuia. Unele limbi asigură integrarea modulelor în pachete.







Modularitatea codului programului

Principiul modularității este un mijloc de simplificare a sarcinii de proiectare a PS și de distribuire a procesului de dezvoltare a PS între echipele de dezvoltare. Atunci când PS este împărțit în module pentru fiecare modul, acesta indică funcționalitatea pe care o implementează, precum și legăturile cu alte module.

>> . Convenabilitatea utilizării arhitecturii modulare este capacitatea de a actualiza (înlocui) modulul, fără a fi nevoie să schimbați restul sistemului.

Rolul modulelor poate fi jucat de structurile de date. funcția bibliotecă. clase. servicii și alte unități software care implementează anumite funcționalități și oferă o interfață pentru aceasta.

Codul este adesea împărțită în mai multe fișiere, fiecare dintre acestea fiind compilate separat de celelalte. Această modularitate a codului poate reduce semnificativ timpul până la recompilați pentru ca schimbările să fie făcute numai într-un număr mic de fișiere sursă, și simplifică dezvoltarea echipei. De asemenea, este posibil să se înlocuiască componentele individuale (cum ar fi-borcan fișiere. SO sau un DLL), produsul final, fără a fi nevoie de a reconstrui întregul proiect (de exemplu, dezvoltarea de plug-in-uri la programul sa terminat).

Una dintre metodele de scriere a programelor modulare este programarea orientată pe obiecte. OOP oferă un grad ridicat de modularitate datorită proprietăților, cum ar fi încapsularea. polimorfism și legare tardivă.

Modular sistem de module

În ciuda faptului că programarea modulară nu are nimic de-a face cu detaliile unei anumite limbi (chiar și în absența sprijinului explicit al limbii poate fi aplicat cu disciplina suficientă din partea programatori), majoritatea limbilor aduce la nivelul superior al lui modulelor naturale proprii ale sistemului, în cazul în care transferul de sistem modulele dintr-o limbă în alta ar fi imposibilă.

Implementarea în sine este construit de module de limbaj Leroy ML. și anume sub forma unui functor. date parametrizate privind limba de bază și descrierea mecanismului de tip verificare a consistenței. Acest lucru înseamnă că, atunci când scrie un limbaj compilator este suficient pentru a descrie limba de bază și să o transmită acest functorul (ca o funcție de bibliotecă) - rezultatul este un extensii compilator limbaj ML sistem modul cunoscut.

Istoria conceptului de module

Istoria conceptului de module ca unități de compilare se întoarce în limbile Fortran II și Kobol. adică până la sfârșitul anilor 1950O scurtă istorie a FORTRAN Subprograme COBOL . În 1976, a apărut o publicație în care a fost dezvoltat conceptul de modularitate - limba

Termenul „modulul“ în programare a început să fie utilizate în legătură cu introducerea unor principii modulare în cadrul programelor de dezvoltare. În anii 1970, în conformitate cu modulul pentru a înțelege orice procedură sau funcție este scris în conformitate cu anumite reguli. De exemplu, „modulul ar trebui să fie simplu, închis (independent), ușor de gestionat (50 până la 100 rânduri), implementează doar o sarcină funcție unică având o intrare și un punct de ieșire.“







Primele proprietăți de bază ale modulului software au fost mai mult sau mai puțin clar formulate de David Parnas în 1972. "Pentru a scrie un modul ar trebui să fie suficiente cunoștințe minime despre textul altui". Astfel, conform definiției, modulul ar putea fi orice procedură separată (funcție) ca nivelul cel mai scăzut al ierarhiei (nivelul de implementare) și cel mai înalt nivel, pe care apar doar apeluri ale altor module de proceduri. D. L. Parnas >>

Acest șablon folosește un parametru "nume" depășit. Editați acest articol, înlocuind "titlu" cu "titlu".

Acest șablon folosește opțiunea "oraș" depășită. Vă rugăm să editați acest articol, înlocuind "orașul" cu "locul".

Astfel Parnas a propus pentru prima dată conceptul de ascunderea informațiilor (Engl. Ascunderea informației) de programare. Cu toate acestea, limbile existente în anii 70 numai astfel de construcții sintactice ca proceduri și funcții, nu au putut furniza informații fiabile de acoperire, datorită utilizării pe scară largă a variabilelor globale.

Această problemă ar putea fi rezolvată numai prin dezvoltarea unei noi structuri sintactice care nu este afectată de variabilele globale. Un astfel de design a fost creat și numit un modul. Inițial, sa presupus că, atunci când se implementează pachete software complexe, modulul ar trebui să fie folosit la același nivel cu procedurile și funcțiile ca un design care unește și ascunde în mod fiabil detaliile implementării unei anumite submăsuri.

Astfel, numărul de module din complex trebuie determinat prin descompunerea sarcinii în subprobleme independente. În cazurile extreme, modulul poate fi folosit chiar și pentru a încheia o singură procedură în cazul în care este necesar ca acțiunea locală pe care o efectuează să fie garantată independent de influența altor părți ale programului, sub orice schimbare.

Pentru prima dată, un design de specialitate modul de sintaxă a fost propus de Wirth în 1975 și încorporate în noua sa limbă Modula. „- cea mai importanta caracteristica care distinge Modula-2 limbajul modulelor sale predecesorului Pascal“: proprietăți ale limbajului, introducerea mecanismului de module indică următoarea N.Virta de observație făcută de el despre limba mai târziu, Modula-2 Cât de mult o schimbare.

Implementarea în limbile de programare

Modularea programării poate fi implementată chiar dacă sintaxa limbajului de programare nu acceptă setarea explicită a numelor pentru module.

Instrumentele software pot crea module de cod sursă, prezentate ca părți ale grupurilor - componente ale bibliotecii, care sunt compilate cu programul de către linker.

Modulul din Pascal este o unitate de software compilate autonom, care include diferite componente ale secțiunii de descriere (tipuri, constante, variabile, proceduri și funcții) și, eventual, câteva declarații executabile ale părții inițiale.Pavlovskaya Tatiana Alexandrovna. Limba de programare Pascal (curs de formare)

Prin organizarea și natura utilizării în program, modulele Pascal se află aproape de modulele de pachete (PACHETE) ale limbajului de programare Ada. În acestea, la fel ca în pachetele Ada, este alocată în mod explicit o parte de interfață "vizibilă", în care sunt prezentate descrierile tipurilor, constantelor, variabilelor globale, precum și titlurile procedurilor și funcțiilor. Apariția obiectelor din interfață le face disponibile altor module și programului principal. Organele de proceduri și funcții sunt localizate în partea executabilă a modulului, care poate fi ascunsă de utilizator.

Modulele sunt un instrument excelent pentru dezvoltarea bibliotecilor de aplicații și un instrument puternic pentru programarea modulară. O caracteristică importantă a modulelor este aceea că compilatorul își plasează codul de program într-un segment de memorie separat. Lungimea segmentului nu poate depăși 64 KB, dar numărul de module utilizate simultan este limitat doar de memoria disponibilă, ceea ce vă permite să creați programe mari.

notițe

Extensia etichetă nevalidă "referințe"







Articole similare

Trimiteți-le prietenilor: