Allerede ved, hvad det er, Dependency Injection?
Minimum ‘ ve aldrig hørt om afhængighed injektion?
Mad hvad er det?
hvis ikke alle eller ikke et af midlerne, er du på det rigtige skrivning <
Afhængighedsinjektion eller almindeligvis forkortet som i den verdenskendte programmering efter mange nye rammer, der implementerer dette koncept. En af de mest berømte er foråret.,
i den påtænkte rækkefølge af en klasse, der ikke er bundet tæt sammen med den anden klasse, således at forholdet mellem de dele af koden, der skal være løst (løst koblet).
fortolket sprog let i de midler, vi leverer/injicere en klasse i en anden klasse, som er dens afhængigheder (brug for det).
muligt, hvis du bruger de ord, som sampeyan på mumet ja <
Jeg arbejdede også oprindeligt, hvis du bare bruger ord, fordi ikke mudheng hvad det betyder hehee
i så fald lad os bruge eksemplet med kodning sadja..,>
for At udføre database operationer fra klassen over, såsom gemme den studerende, fjerne, redigere og søge i data, vil vi oprette en klasse, der håndterer sådanne ting.
Vi opretter en klasse med navnet på Mahasis .adao
prøv at se på klassen ovenfor.
ved første øjekast er der intet galt, ikke? If
hvis noten faktisk var faktisk ikke noget galt, at der er mindre elegant.
Note på den del af konstruktøren af klassen ovenfor.,
der Klasse, dette udseende kræver (afhængig) af forbindelsen til at udføre forskellige database operationer.
Et kig på den del, jeg fremhæver
Sådan får du en forbindelse Dette er, hvad vi vil diskutere
så, hvor, ikke elegant?
nå,
på den virkelige anvendelse selvfølgelig har vi ikke kun en bordstuderende, er det ikke?
der er stadig tabeller undervisere, kurser, værdi, bruger, tidsplan, afdeling, og andre kan være op til en masse afhængigt af behovene.
godt.., du kan forestille dig, om der senere også vil være en klasse med navnet på other..dao andre og hver dao klasser, der har en konstruktør som ovenfor.
Runyamnya her.
Hvis for eksempel placeringen af serveren ændre så er vi nødt til at erstatte det en 1 til 1 på hver klasse dao???
Hvis der er hundredvis af klasser, hvordan???
for ikke at nævne for enhedstest ved hjælp af mock object hvordan???
ved allerede, hvor den mindre elegante <
for at overvinde dette bruger vi Afhængighedsinjektionen.,
Mari kita refactor kelas MahasiswaDao sehingga constructor menjadi som ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
pakke dao;
importer kom.Mys .l.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.,forbindelsen=forbindelse;
}
|
Vi Tilføje en parameter i constructoren, således at Forbindelsen kan være givet (i-injectkan) til klasse MahasiswaDao, der har brug for det.
i denne Dao klasser behøver ikke at tage sig af initialiseringen af datakilden og forbindelsen af hans.
Hvem gør initialisering? kan nogen oprindelse er ikke en klasse Dao selv.
For eksempel sadja vi initialisere på TestMahasiswaDao for eksempel.
Skriv et svar