savez-vous déjà ce que c’est L’Injection de dépendance?
Minimum jamais entendu parler de L’Injection de dépendance?
Alimentaire, c’est quoi?
Si pas tous ou pas l’un des moyens que vous êtes à la bonne écriture <
Injection de dépendance ou couramment abrégé comme dans la programmation de renommée mondiale après de nombreux cadres émergents qui implémente ce concept. L’un des et le plus célèbre est le printemps.,
dans l’ordre prévu d’une classe non liée étroitement avec l’autre classe de sorte que la relation entre les parties du code à être lâche (vaguement couplé).
langage interprété facile dans les moyens que nous fournissons / injectons une classe dans une autre classe qui est ses dépendances (besoin).
Possible si vous utilisez les mots que sampeyan sur mumet Oui<
j’ai aussi travaillé au départ si vous utilisez simplement des mots parce que pas mudheng ce que cela signifie hehee
Si oui, utilisons l’exemple de codage sadja..,>
pour effectuer des opérations de base de données à partir de la classe ci-dessus, telles que Enregistrer l’étudiant, Supprimer, Modifier et interroger les données, nous créons une classe qui gère de telles choses.
Nous créons une classe avec le nom du MahasiswaDao
essayez de regarder la classe ci-dessus.
à première Vue, il n’y a rien de mal, non? If
Si la note en fait était en fait rien de mal, qu’il est moins élégant.
Remarque de la part du constructeur de la classe au-dessus.,
Il classe, ce look nécessite (dépendant) de la connexion pour effectuer diverses opérations de base de données.
Un regard sur la partie I met en évidence
comment obtenir une connexion c’est ce que nous allons discuter de la
alors, où, pas élégant?
Eh bien,
sur l’application réelle bien sûr, nous avons non seulement un étudiant de table n’est-ce pas?
Il y a encore des tables conférenciers, cours, valeur, utilisateur, calendrier, département, et d’autres peuvent être jusqu’à beaucoup en fonction des besoins.
Eh bien.., vous pouvez imaginer si plus tard il y aura aussi une classe avec le nom de l’autre xxxDao et chaque classe dao qui ont un constructeur comme ci-dessus.
Runyamnya ici.
Si par exemple l’emplacement du changement de serveur alors nous devons le remplacer un 1 à 1 sur chaque classe dao???
s’il y a des centaines de classes comment???
pour ne pas mentionner pour les tests unitaires en utilisant un objet simulé comment???
déjà savoir où le moins élégant 😀
pour surmonter cela, nous utilisons L’Injection de dépendance.,
Mari kita refactoriser kelas MahasiswaDao sehingga constructeur et comme les ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package dao;
import com.mysql.jdbc.jdbc2.facultatif.,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.,connexion=connexion;
}
|
Nous Ajouter un paramètre dans le constructeur de sorte que la Connexion peut être donné (en injectkan) à la classe MahasiswaDao qui en ont besoin.
dans ce DAO classes n’ont pas besoin de prendre en charge l’initialisation de la source de données et la connexion de son.
alors qui fait l’initialisation? quelqu’un peut-il Origine n’est pas une classe DAO elle-même.
par exemple sadja nous initialisons sur TestMahasiswaDao par exemple.
Laisser un commentaire