Allerede vet hva det er Dependency Injection?
Minimum har aldri hørt om Dependency Injection?
Mat-hva er det?
Hvis ikke alle, eller ikke en av de som betyr at du er på rett skriver 😀
Avhengighet Injeksjon eller vanligvis forkortet som I den verdenskjente programmering etter mange nye rammeverk som implementerer dette konseptet. En av de mest kjente er Våren.,
I ønsket rekkefølge av en klasse som ikke er bundet fast med den andre klassen, slik at forholdet mellom deler av koden for å være løst (løst koplet).
Tolket språk, enkel I betyr at vi gi/injisere en klasse til en annen klasse, som er dens avhengigheter (trenger det).
det er Mulig hvis du bruker ord som sampeyan på mumet ja 😀
jeg har også jobbet i utgangspunktet hvis du bare bruker ord fordi ikke mudheng hva det betyr hehee
Hvis så la oss bruke eksempel på koding sadja..,>
for Å utføre databaseoperasjoner fra klassen over, for eksempel lagre student, fjerne, redigere og spørring data, lager vi en klasse som håndterer slike ting.
Vi lage en klasse med navnet på MahasiswaDao
Prøv å se på det klasse over.
ved første Øyekast er det ikke noe galt, ikke sant? 🙂
Hvis merk faktisk var faktisk ikke noe galt, at det er mindre elegant.
vær Oppmerksom på at en del av konstruktøren i klassen over.,
Det klasse, dette ser krever (avhengige) på Tilkoblingen til å utføre ulike database operasjoner.
en Titt på den delen jeg høydepunkter
hvordan å få en Tilkobling er dette hva vi vil diskutere
Så, hvor, ikke elegant?
Vel,
På ekte program selvfølgelig, vi ikke bare har en tabell som student er det ikke?
det er Fortsatt tabeller forelesere, kurs, verdi, bruker, planlegge, avdeling, og andre kan bli opptil mye, avhengig av behov.
Godt.., du kan forestille deg hvis du senere vil det også være en klasse med navnet på xxxDao andre og hver dao klasser som har en konstruktør som ovenfor.
Runyamnya her.
Hvis for eksempel plasseringen av serveren endre så må vi erstatte den med en 1-til-1 på hver klasse dao???
hvis det er hundrevis av klasser hvordan???
for ikke å nevne for enhetstesting ved hjelp av mock-objekt hvordan???
vet allerede hvor de mindre elegant 😀
for Å overvinne dette, bruker vi Dependency Injection.,
Mari barnehage refactor kelas MahasiswaDao sehingga constructor menjadi seperti ini –
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
pakken dao;
importer com.mysql.jdbc.jdbc2.valgfri.,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.,tilkobling= – tilkobling;
}
|
Vi Legge til en parameter i konstruktøren, slik at Forbindelsen kan gis (i-injectkan) til klasse MahasiswaDao som trenger det.
I denne Dao klasser trenger ikke å ta vare på initialisering av DataSource og Tilkobling av hans.
Da som gjør initialisering? kan noen opprinnelse er ikke en klasse Dao seg selv.
For eksempel sadja vi initialisere på TestMahasiswaDao for eksempel.
Legg igjen en kommentar