Injection de dépendances

L'injection de dépendances (dependency injection en anglais) est un mécanisme qui permet d'implémenter le principe de l'inversion de contrôle.

Il consiste à créer dynamiquement (injecter) les dépendances entre les différents objets en s'appuyant sur une description (fichier de configuration ou métadonnées) ou de manière programmatique. Ainsi les dépendances entre composants logiciels ne sont plus exprimées dans le code de manière statique mais déterminées dynamiquement à l'exécution.

Exemple

En programmation objet, les objets de type A dépendent d'un objet de type B si au moins une des conditions suivantes est vérifiée :

  • A possède un attribut de type B (dépendance par composition) ;
  • A est de type B (dépendance par héritage) ;
  • A dépend d'un autre objet de type C qui dépend d'un objet de type B (dépendance par transitivité) ;
  • une méthode de A appelle une méthode de B.

Si A dépend de B, cela implique que pour créer A, on a besoin de B ce qui, en pratique, n'est pas toujours le cas.

Pour supprimer la dépendance, un moyen possible consiste à

  • créer une interface I qui contiendra toutes les méthodes que A peut appeler sur B,
  • indiquer que B implémente l'interface I,
  • remplacer toutes les références au type B par des références à l'interface I dans A.

Un problème qui se pose est de disposer dans A d'un objet implémentant I alors que l'on ne sait pas comment l'instancier. La solution consiste à créer, par exemple, un objet b de type B et de l'injecter dans un objet de type A. L'injection proprement dite peut se faire :

  • à l'instanciation : on passe l'objet b à l'instanciation de A
  • par modificateur : on passe l'objet b à une méthode de A qui va par exemple modifier un attribut (setter)

Sur les autres projets Wikimedia :

Read other articles:

Martin KlebbaKlebba dan Meredith Eaton, Mei 2007Lahir23 Juni 1969 (umur 54)Troy, Michigan, A.S.Nama lainMarty the MidgetPekerjaanAktor, pemeran penggantiTahun aktif1992-sekarangKota asalTroy, Michigan, U.S.Tinggi3 ft 10 in (117 cm)[1] Martin Klebba (lahir 23 Juni 1969) adalah aktor karakter dan pemeran pengganti asal Amerika Serikat. Klebba memiliki bentuk Kerdil dipanggil acromicric dysplasia; dia adalah 3 kaki 10 inci (1,17 m) tingg...

 

Lokasi di peta Rumania Lambang kota Ploieşti ialah ibu kota Provinsi Prahova, dan terletak di kawasan historis Walakia, Rumania. Sekitar 224.406 jiwa tinggal di Ploieşti sejak tahun 2012. Kota kembar Di bawah ini adalah kota kembar Ploieşti: Berat, Albania Dnipro, Ukraina Harbin, Republik Rakyat Tiongkok Hînceşti, Moldova Lefkada, Yunani Maracaibo, Venezuela Oral, Kazakhstan Osijek, Kroasia Radom, Polandia Tulsa, Amerika Serikat Pranala luar Wikimedia Commons memiliki media mengenai Ploi...

 

Bupati SidoarjoLambang Kabupaten SidoarjoPetahanaK.H. Ahmad Muhdlor Ali, S.I.Psejak 26 Februari 2021Masa jabatan5 tahunDapat dipilih kembali satu kaliDibentuk1933Pejabat pertamaSoejadiSitus websidoarjokab.go.id Berikut ini adalah Daftar Bupati Sidoarjo sejak masa awal kemerdekaan Indonesia:[1] No Bupati Mulai menjabat Akhir menjabat Prd. Ket. Wakil Bupati 1 Soejadi 1933 1949 1 Tidak ada 2 R. Suriadi Kertosuprojo 1950 1958 2 3 H.A. Chudori Amir 1958 1959 3 4 R.H. Samadikoen 1959 1...

Lampu minyak tanah liat India kontemporer sederhana saat deepawali Lampu minyak perunggu kuno dengan Chi Rho, sebuah simbol Kristen (replika) Lampu minyak Sukunda dari Lembah Kathmandu, Nepal Lampu minyak, teplok, cempor atau sentir adalah sebuah benda yang digunakan untuk menghasilkan cahaya selama beberapa waktu menggunakan sumber bahan bakar berbahan dasar minyak. Penggunaan lampu minyak dimulai ribuan tahun lalu dan berlanjut sampai sekarang, meskipun tidak secara meluas. Benda ini sering...

 

العلاقات البوتانية الليختنشتانية بوتان ليختنشتاين   بوتان   ليختنشتاين تعديل مصدري - تعديل   العلاقات البوتانية الليختنشتانية هي العلاقات الثنائية التي تجمع بين بوتان وليختنشتاين.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للد�...

 

Seminiary in Missouri Eden Theological SeminaryTypeSeminaryEstablished1850; 174 years ago (1850)AffiliationUnited Church of ChristPresidentDeborah KrauseAcademic staff6Students56LocationWebster Groves, Missouri, United StatesCampusSuburbanWebsitewww.eden.edu Eden Theological Seminary is a seminary of the United Church of Christ in Webster Groves, Missouri, near St. Louis, Missouri. The seminary was established in 1850 by German pastors in what was then the American frontier....

American politician Part of the Politics series onDe Leonism Daniel De Leon Marxism Concepts Industrial unionism Left Communism DeLeonists Arnold Petersen Olive Johnson Eric Hass Organizations Industrial Workers of Great Britain Socialist Labor Party (Australia) Socialist Labor Party (USA) Socialist Labour Party (UK) Socialist Trade and Labor Alliance Workers' International Industrial Union Socialism portalvte Cox and family in 1904 William Wesley Cox (February 5, 1865 – October 29, 1948) w...

 

Lampu lalu lintas di Britania Raya. Lampu lalu lintas pada sebuah persimpangan di Indonesia Lampu lalu lintas di Rusia. Lampu lalu lintas (menurut UU no. 22/2009 tentang Lalu lintas dan Angkutan Jalan: alat pemberi isyarat lalu lintas atau APILL) adalah lampu yang mengendalikan arus lalu lintas yang terpasang di persimpangan jalan, tempat penyeberangan pejalan kaki (zebra cross), dan tempat arus lalu lintas lainnya. Lampu ini yang menandakan kapan kendaraan harus berjalan dan berhenti secara ...

 

Moroccan Berber writer (1941–1995) Mohammed Khaïr-Eddine Mohammed Khair-Eddine (Standard Moroccan Tamazight: ⵎⵓⵃⵎⵎⴰⴷ ⵅⴰⵢⵔ ⴷⴷⵉⵏ; Arabic: محمد خير الدين) (1941 – November 18, 1995) was a Moroccan poet and writer. He was among the most famous Moroccan Berber literary figures of the 20th century.[1] Life Mohammed Khaïr-Eddine was born in Tafraout, a Berber town in the Souss-Massa-Drâa region (Tiznit province), in the south of Morocco, 180 k...

2008 Januari Februari Maret April Mei Juni Juli Agustus September Oktober November Desember ◀ Desember 2007 sunting halaman ini riwayat halaman ini Desember 2009 ▶ Kunjungi halaman utama Portal Peristiwa Terkini Sabtu, 27 April 2024 Sabtu, 15.45 UTC Sabtu, 22.45 WIBSabtu, 23.45 WITAMinggu, 00.45 WIT ◀ Desember 2008 ▶ M S S R K J S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Kematian bulan ini 26: Mochammad Sanoesi, 73, Kapolri (1986-1991) 25: H...

 

Orang Yahudi Agama Yahudi Agama Tuhan Allah dalam Yudaisme Dasar Iman Yahudi Kaballah Hari raya Doa Halakha Mitzvot (Daftar: 613) Rabi Sinagoge Pembacaan gulungan Taurat Minhag/Kebiasaan Tzedakah Teks Tanakh: Taurat Nevi'im Ketuvim Literatur Rabinik Talmud Mishnah Gemara Etnis Ashkenazi Sefardim Mizrahi Beta Israel Penduduk (Daftar) Israel AS Rusia/Uni Soviet SpanyolKanada Jerman Prancis Britania Raya Amerika Latin Polandia Dunia Arab Malaysia Yaman Yahudi terkenal menurut negara Daftar Komu...

 

Indian actress (1905–1983) Patience CooperCooper in a publicity portrait in 1930Born(1902-01-30)30 January 1902Howrah, Bengal Presidency, British IndiaDied1993 (aged 90–91)Karachi, PakistanOccupationActressYears active1920–1946Spouses M. A. Isapahani ​ ​(m. 1926, divorced)​ Gul Hamid Khan ​ ​(m. 1930; died 1936)​ Patience Cooper was an Anglo-Indian actress, and one of the early super...

US nuclear power plant (1968–2004) Connecticut Yankee Nuclear Power PlantConnecticut Yankee Nuclear Power PlantOfficial nameHaddam Neck Nuclear Power PlantCountryUnited StatesLocationHaddam, Middlesex County, ConnecticutCoordinates41°28′56″N 72°29′54″W / 41.48222°N 72.49833°W / 41.48222; -72.49833StatusDecommissionedConstruction beganMay 1, 1964Commission dateJanuary 1, 1968Decommission dateDecember 5, 1996Owner(s)Connecticut Yankee Atomic ...

 

Italian painter Not to be confused with Caravaggio. The Resurrection Cecco del Caravaggio (active c. 1610 – mid-1620s) is the Notname given to a painter who worked in Rome in the early decades of the 17th century and was an important early follower of Caravaggio (1571–1610). In the past art historians have suggested he may have been a Flemish, French or Spanish Caravaggist but more recently some have identified the artist with Francesco Boneri (or Buoneri), although this is not univ...

 

American baseball player (1889-1954) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Jim Bagby Sr. – news · newspapers · books · scholar · JSTOR (September 2012) (Learn how and when to remove this message) Baseball player Jim BagbyPitcherBorn: (1889-10-05)October 5, 1889Barnett, Georgia, U.S.Died: July 28, 1...

County in South Dakota, United States County in South DakotaMinnehaha CountyCountyMinnehaha County Courthouse in Sioux FallsLocation within the U.S. state of South DakotaSouth Dakota's location within the U.S.Coordinates: 43°41′N 96°47′W / 43.68°N 96.79°W / 43.68; -96.79Country United StatesState South DakotaFounded1862 (created)1868 (organized)Named forrapid waterSeatSioux FallsLargest citySioux FallsArea • Total814 sq mi (2,110...

 

ESA satellite to study polar ice; lost in launch failure in 2005 CryoSatLife-size model of CryoSatMission typeEnvironmentalOperatorESAWebsiteESA - CryoSatMission duration3 years (planned)Failed to orbit Spacecraft propertiesManufacturerEADS AstriumLaunch mass750 kilograms (1,650 lb) Start of missionLaunch date8 October 2005, 15:02:00 (2005-10-08UTC15:02Z) UTCRocketRokot/Briz-KMLaunch sitePlesetsk 133/3ContractorEurockot Orbital parametersReference systemGeocentricRegimeLow...

 

ヨハネス12世 第130代 ローマ教皇 教皇就任 955年12月16日教皇離任 964年5月14日先代 アガペトゥス2世次代 レオ8世個人情報出生 937年スポレート公国(中部イタリア)スポレート死去 964年5月14日 教皇領、ローマ原国籍 スポレート公国親 父アルベリーコ2世(スポレート公)、母アルダその他のヨハネステンプレートを表示 ヨハネス12世(Ioannes XII、937年 - 964年5月14日)は、ロ...

Politician and father of Roman emperor Tiberius For other Romans with the same name, see Tiberius Claudius Nero. Tiberius Claudius NeroBornc. 82 BCDied33 BCNationalityRomanOfficePraetor (42 BC)SpouseLiviaChildrenTiberius (emperor) and Nero Claudius DrususParentTiberius Claudius Nero (father) Tiberius Claudius Nero (c. 82 – 33 BC) was a Roman politician, senator, and praetor who lived in the last century of the Roman Republic. He was notable for being the first husband of Livia, before she d...

 

Political application of the Christian doctrine of Paul of Tarsus Corporatism Concepts Corporate group Body politic Organicism Solidarity Structural functionalism Schools Christian Conservative Fascist Liberal Nationalistic Social Solidarist Statist Tripartite People Aristotle Durkheim Hegel Khaldūn Mill Müller Mussolini Plato Paul the Apostle Salazar Spann Tönnies Vargas Related articles Consociationalism Fascism Gemeinschaft and Gesellschaft Guild Guild socialism Political philosophy Pol...