Cadru
În programarea computerizată , un cadru (cunoscut și sub numele de infrastructură software , dezvoltare a infrastructurii , mediu de dezvoltare , bază de aplicații , pentru aplicații sau cadru software ) înseamnă un set coerent de componente software Structurale, utilizate pentru a crea bazele și conturul tuturor sau parte a unui software ( arhitectură ). Un cadru diferă de o bibliotecă software simplă , în principal prin:
- caracterul său generic, slab specializat, spre deosebire de unele biblioteci; ca atare, un cadru poate fi alcătuit din mai multe biblioteci, fiecare specializată într-un domeniu. Un cadru poate fi totuși specializat, pe o anumită limbă , o anumită platformă , un anumit domeniu: de comunicații de date , cartografiere de date , etc. ;
- cadrul pe care îl impune prin însăși construcția sa, ghidând arhitectura software - ului sau chiar conducând dezvoltatorul să respecte anumite modele de proiectare ; bibliotecile care o constituie sunt apoi organizate după aceeași paradigmă .
În cadrele sunt , prin urmare , concepute și folosite pentru a modela arhitectura a aplicatiei software , a aplicațiilor web , de middleware și componentele software . Cele Cadrele sunt achiziționate de către calculator și încorporate în aplicații software de pe piață, acestea sunt , prin urmare , rareori achiziționate și instalate separat de către un utilizator final.
Descriere
Un cadru este un set de instrumente și componente software organizate în conformitate cu un plan arhitectural și modele , întregul formând sau promovând un „schelet” de program, o pânză. Este adesea furnizat sub forma unei biblioteci software și însoțit de planul arhitecturii țintă a cadrului .
Un cadru este conceput pentru a ajuta programatorii în munca lor. Organizarea cadrului vizează productivitatea maximă a programatorului care îl va folosi - garantarea costurilor mai mici de construcție și întreținere a programului. Conținutul exact al cadrului este dictat de tipul de program și de arhitectura țintă pentru care este proiectat.
Există diferite tipuri de cadre :
-
cadrul infrastructurii de sistem: pentru a dezvolta sisteme de operare, interfețe grafice , instrumente de comunicare (exemplu: .Net Framework , Struts );
-
cadru de integrare middleware ( middleware ) pentru a federa aplicații eterogene. Să pună la dispoziție diferite tehnologii sub forma unei singure interfețe;
-
cadre de afaceri: pentru a dezvolta aplicații specifice sectorului de afaceri al afacerii;
-
cadre de gestionare a conținutului : sunt bazele unui sistem de management al conținutului - pentru crearea, colectarea, clasificarea, stocarea și publicarea „proprietății scanate”.
Principalele avantaje ale acestor cadre sunt reutilizarea codului lor, standardizarea ciclului de viață al software-ului (specificații, dezvoltare, întreținere, evoluție), permit formalizarea unei arhitecturi adaptate nevoilor companiei. Ele se bazează pe experiența dezvoltărilor anterioare.
Obiecte
În programarea orientată obiect , un cadru este de obicei compus din clase părinte care vor fi derivate și extinse prin moștenire în funcție de nevoile specifice ale fiecărui software care folosește cadrul . Cu un cadru orientat obiect, programatorul care folosește cadrul va putea personaliza elementele principale ale programului prin extensie, utilizând mecanismul de moștenire : creați clase noi care conțin toate funcționalitățile implementate de cadru și, în plus, propriile sale funcționalități, create de programator în funcție de nevoile specifice ale programului său. Mecanismul de moștenire face posibilă și transformarea funcționalităților existente în clasele cadrului .
Inversarea controlului
În timp ce bibliotecile de clase sunt de obicei pasive: operațiile de clasă sunt executate la cerere de către programul care le folosește, cadrele sunt de obicei active: fluxul de operații într-un program este direcționat de cadrul pe care îl folosește, de mecanisme precum callbacks și evenimente , pe baza „nu mă suni, te sun eu.“ "
Inversiunea controlului face parte din arhitectura tipică a unui cadru .
traducere în franceză
În programarea computerizată , un cadru este tradus ca o structură software, deși termenul cadru este încă utilizat în cea mai mare parte. S-au făcut alte încercări de francizare a termenului; astfel găsit uneori în mediul de dezvoltare , recomandat de către Comisia pentru îmbogățirea limbii franceze și pentru aplicații , baza de aplicații sau cadrul software recomandat de Biroul limbii franceze din Quebec .
Vă rugăm să rețineți că un cadru nu ar trebui considerat o platformă , în măsura în care nu integrează un sistem sau un mediu de execuție a aplicației.
Exemple
Cateva exemple
Numele de familie
|
Utilizare
|
Arhitectura țintă
|
Limba
|
Autor
|
Licență
|
---|
ActionScript Foundry
|
aplicatie web
|
Adobe flex
|
ActionScript și Java
|
ServeBox
|
|
---|
Apache Cocoon
|
aplicație web - servlet
|
?
|
Java , XML
|
Software Apache
|
Software gratuit
|
---|
Arc
|
aplicatie web
|
Cross-platform
|
Java
|
Sursa de primăvară
|
Software gratuit
|
---|
Apache Struts
|
aplicatie web
|
Model-Vizualizare-Controler
|
Java
|
Software Apache
|
Software gratuit
|
---|
Twitter Bootstrap
|
aplicatie web
|
Model-Vizualizare-Controler
|
HTML / CSS / JAVASCRIPT
|
Stare de nervozitate
|
Licență MIT
|
---|
Catalizator
|
software de aplicație
|
Model-Vizualizare-Controler
|
Perl
|
|
Software gratuit
|
---|
Cacao
|
software de aplicație
|
Cacao
|
Obiectivul C
|
măr
|
|
---|
CubicWeb
|
Platforma de dezvoltare web semantică
|
Cross-platform
|
Piton
|
Logilab
|
LGPL
|
---|
Django
|
aplicatie web
|
Model-Vizualizare-Controler
|
Piton
|
Fundația Django Software
|
Software gratuit
|
---|
Dojo
|
applet
|
AJAX
|
Javascript
|
Fundația Dojo
|
---|
Cadru de modelare Eclipse (*) |
modelarea datelor
|
Cross-platform
|
(deschis)
|
Fundația Eclipse
|
Software gratuit
|
---|
Eclipse RCP
|
Platforma client bogat
|
Platforma IDE Eclipse , Multiplatform
|
(deschis)
|
Fundația Eclipse
|
Software gratuit
|
---|
eZ Publish
|
aplicatie web
|
sistem de management al conținutului
|
PHP
|
eZ Systems AS
|
Software gratuit
|
---|
JavaServer Faces
|
aplicatie web
|
Componenta
|
Java
|
|
Software gratuit
|
---|
FxEngine Framework
|
procesare semnal digital , plugin
|
Filtre și tuburi
|
C ++
|
SMProcess
|
|
---|
Graaluri
|
aplicatie web
|
Model-Vizualizare-Controler
|
Macabru
|
Graeme Rocher, Guillaume Laforge, Marc Palmer, Dierk Koenig și Steven Devijver
|
|
---|
Google Guice
|
aplicatie web
|
Cross-platform
|
Java
|
Bob Lee, Kevin B, Jesse Wilson, Christian Gruber
|
Software gratuit
|
---|
Hibernează
|
persistenta si cartografiere
|
API Java Persistence
|
Java
|
JBoss
|
Software gratuit
|
---|
Java SE (**) |
cadru generic pentru Rich Client Platform
|
Cross-platform
|
Java Scala JScheme , implementarea Scheme Clojure (dialectul Lisp) JRuby Jython Rhino (motor JavaScript)
|
Sun Microsystems apoi Oracle Corporation
|
Software gratuit
|
---|
Java EE (**) |
cadru profesional cu suport distribuit
|
---|
Java ME (**) |
cadru pentru aplicații mobile
|
---|
JavaFX (**) |
cadru pentru aplicația Rich Internet
|
---|
Kivy
|
cadru pentru aplicații mobile
|
Cross-platform
|
Python Cython
|
Organizația Kivy
|
Software gratuit
|
---|
Laravel
|
aplicații web
|
Multiplatformă , Model-View-Controller
|
PHP
|
Echipa de dezvoltare Laravel
|
Licență MIT
|
---|
MARF
|
procesarea semnalului și a limbajului
|
conductă
|
Java
|
Serghei Mokhov, Stephen Sinclair
|
|
---|
Clasa Microsoft Foundation
|
software de aplicație
|
Model-Vizualizare-Controler
|
C ++
|
Microsoft
|
Proprietar
|
---|
.Net (**) |
aplicații software , aplicații web , componente software
|
ASP.NET
|
C # , Visual Basic .NET
|
Microsoft
|
Proprietar
|
---|
Ruby on Rails
|
aplicatie web
|
Model-Vizualizare-Controler
|
Rubin
|
David Heinemeier Hansson și
|
Software gratuit
|
---|
Simfonie
|
aplicatie web
|
Model-Vizualizare-Controler
|
PHP
|
Laboratoarele Sensio
|
Software gratuit
|
---|
SoJo FrameWork
|
aplicatie web
|
Model-Vizualizare-Controler
|
HTML / CSS
|
InGamesStudio
|
Software gratuit
|
---|
TopLink
|
persistenta si cartografiere
|
API Java Persistence
|
Java
|
Oracle Corporation
|
---|
W3.CSS
|
aplicatie web
|
Google Material Design
|
CSS
|
W3Schools
|
Software gratuit
|
---|
Zend Framework
|
aplicatie web
|
Model-Vizualizare-Controler
|
PHP
|
Zend Technologies
|
Software gratuit
|
---|
Zope
|
management de conținut
|
Zope
|
Piton
|
Zope Corporation
|
Software gratuit
|
---|
(*) Anumite cadre precum Eclipse constituie mai multe meta- cadre , sau cadre de cadre , în măsura în care permit, în funcție de modulele care le sunt instalate, să se reorienteze către diferite activități IT.
(**) Microsoft .NET și platformele Java pot fi văzute indiferent ca cadre sau ca platforme software, în funcție de faptul că se iau în considerare singurele lor biblioteci de dezvoltare sau mediul lor de execuție.
Note și referințe
-
„ Cadrul software sau infrastructura: definiție și traducere ”, JDN ,23 aprilie 2018( citiți online , consultat 24 iunie 2018 )
-
Sandy Hacyan, „ The framework: a structuring development base ” , pe journaldunet.com , Le Journal du Net ,3 aprilie 2008(accesat la 2 mai 2017 )
-
Comisia pentru îmbogățirea limbii franceze , „ mediul de dezvoltare ” , FranceTerme , Ministerul Culturii (accesat la 22 ianuarie 2020 ) .
-
" framework of applications " , Le Grand Dictionnaire terminologique , Office québécois de la langue française (accesat la 22 ianuarie 2020 ) .
-
(ro) Ken Chazotte, Construiește-ți propriul cadru cu Visual FoxPro , Hentzenwerke, 2004, ( ISBN 9781930919532 ) .
-
(în) Fundația RJ Townsend Drupal 7: Aflați cum să utilizați cadrul Drupal pentru a construi rapid site-uri bogate în funcții , Apress - 2010 ( ISBN 9781430228080 )
-
(în) Nicolas Guelfi, Egidio Astesiano și Gianna Reggio Inginerie științifică pentru aplicații Java distribuite , Springer - 2003 ( ISBN 9783540006794 )
-
(în) Douglas C. Schmidt și Stephen D. Huston, C ++ Network Programming: Reutilizarea sistematică cu ACE și Frameworks , Addison-Wesley - 2003 ( ISBN 9780201795257 )
-
(în) Stephen D. Huston, James Johnson CE, Umar Syyid, Ghidul programatorului ACE: modele practice de proiectare pentru programarea rețelelor și sistemelor , Addison-Wesley - 2004 ( ISBN 9780201699715 )
Vezi și tu
Articole similare
Link extern