Menu (Nederlands)

geplaatst in: Articles | 0

weet u al wat het afhankelijkheid injectie is?heb je nog nooit gehoord van Dependency Injection?voedsel wat is het?
indien niet alle of niet een van de middelen die u aan het juiste schrijven 😀

afhankelijkheid injectie of vaak afgekort zoals in de wereldberoemde programmering na vele opkomende framework dat dit concept implementeert. Een van de meest bekende is de lente.,
in de beoogde volgorde van een klasse niet strak gebonden met de andere klasse, zodat de relatie tussen de delen van de code losjes (losjes gekoppeld).
Interpreted language easy in de middelen die we bieden / injecteren een klasse in een andere klasse die zijn afhankelijkheden (nodig hebben).

mogelijk als je de woorden gebruikt die sampeyan op mumet Ja 😀
ik werkte ook in eerste instantie als je gewoon woorden gebruikt omdat het niet mudheng is wat het betekent hehee
als dat zo is laten we het voorbeeld van codering sadja gebruiken..,>

40
41
42
43
44
45
46
47
48
49

pakket model;
public class Mahasiswa {
private String nim;
private String naam;
private int umur;
private String asalSekolah;
private String alamat;
public String getNim() {
terug nim;
}
public void setNim(String nim) {
dit.,opmerkend dat = opmerkend;
publieke String getNama () {
terugkeer van bloedige gevechten;
}
public void setNama (String van bloedige gevechten) {
dit.bloody fighting = bloody fighting;
public int getUmur () {
return umur;
}
public void setUmur (int umur) {
dit.,age = age;
public String getAsalSekolah () {
return schoolname;
}
public void setAsalSekolah(String schoolname) {
dit.schoolname = schoolname;
public String getAlamat () {
retouradres;
}
public void setAlamat (String address) {
dit.,address = address;
}

om databasebewerkingen uit te voeren vanuit de bovenstaande klasse, zoals gegevens opslaan, verwijderen, bewerken en opvragen, maken we een klasse die dergelijke dingen afhandelt.
We maken een klasse aan met de naam van de MahasiswaDao

probeer naar de bovenstaande klasse te kijken.
op het eerste gezicht is er niets mis, toch? 🙂

als de noot eigenlijk niets mis was, is dat er minder elegant.
Opmerking van de kant van de constructeur van de bovenstaande klasse.,
er Klasse, deze look vereist (afhankelijk) van de verbinding om verschillende database operaties uit te voeren.
Een blik op het eerste deel benadrukt
Hoe een verbinding te krijgen Dit is wat we zullen bespreken de

dus, waar, niet elegant?
nou,
op de echte toepassing natuurlijk, we hebben niet alleen een tafel student is het niet?
er zijn nog steeds tabellen docenten, cursussen, waarde, gebruiker, schema, afdeling, en anderen kunnen tot veel afhankelijk van de behoeften.
goed.., je kunt je voorstellen of er later ook een klasse zal zijn met de naam van de xxxDao andere en elke dao klassen die een constructor hebben zoals hierboven.

Runyamnya hier.
als bijvoorbeeld de locatie van de server verandert dan moeten we het vervangen door een 1 op 1 op elke klasse dao???
als er honderden klassen zijn, hoe???
niet te vergeten voor Unit testen met behulp van mock object hoe???
weet al waar de minder elegante 😀

om dit te overwinnen, gebruiken we de Dependency Injection.,

Mari kita refactor kelas MahasiswaDao sehingga constructor menjadi als de ini

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

pakket dao;
importeren com.mysql.jdbc.jdbc2.optioneel.,MysqlDataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import model.Mahasiswa;
public class MahasiswaDao {
Connection connection;
public MahasiswaDao(Connection connection) throws SQLException{
this.,connection = connection;

We voegen een parameter toe aan de constructor zodat de verbinding kan worden gegeven (in-injectkan) aan de klasse MahasiswaDao die het nodig heeft.
In deze Dao klassen hoeven niet te zorgen voor de initialisatie van de DataSource en de verbinding van zijn.
wie doet dan initialisatie? kan iemand oorsprong is niet een klasse Dao zelf.
bijvoorbeeld sadja we initialiseren op TestMahasiswaDao bijvoorbeeld.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *