Aperçu
Mode de pont Un modèle structurel, qui traite principalement: en raison des besoins réels, une classe a deux changements dimensionnels ou plus. Si l'héritage est juste utilisé, ce besoin ne sera pas atteint ou la conception devient assez gonflée.
Le mode de pont consiste à résumer les pièces changeantes, à séparer les pièces changeantes de la classe principale, séparant ainsi complètement les modifications de plusieurs dimensions. Enfin, un cours de gestion est fourni pour combiner des changements dans différentes dimensions, et cette combinaison est utilisée pour répondre aux besoins de l'entreprise.
Diagramme de structure UML
Exemple de code
Entretien de package; interface implémentor {void operationImpl ();} classe abstraite abstrait {protégée implémentor implémentor; public Abstract (implémentor implémentor) {this.Implementor = implémentor; } public void opération () {implémentor.OperationImpl (); }} classe ConcreteIMPlementora implémente l'implémentor {@Override public void operationImpl () {System.out.println ("implémentation spécifique a"); }} classe ConcreteIMPlementorB implémente l'implémentor {@Override public void operationimpl () {System.out.println ("implémentation spécifique b"); }} classe RefineBStraction étend Abstract {public raffinebStraction (implémentor impleftimor) {super (implémentor); } public void autreOperation () {System.out.println ("Autres opérations"); }} classe publique MAINTest {public static void main (String arg []) {implémentor implémentor = new CONCRETEIMPLEMENTORA (); Abstraction raffinebstraction = new raffinedabstraction (implémentateur); Abstraction.Operation (); abstraction.otheroperation (); }}Utiliser des scénarios
1. Si vous ne souhaitez pas adopter une relation de liaison fixe dans les parties d'abstraction et d'implémentation, vous pouvez utiliser le mode de pont pour séparer les parties d'abstraction et d'implémentation, puis définir dynamiquement les implémentations spécifiques nécessaires à l'abstraction pendant l'opération du programme, et vous pouvez également changer dynamiquement les implémentations spécifiques.
2. Si la partie abstraite et la partie de mise en œuvre doivent être élargies, un mode de pont peut être utilisé pour que la partie abstraite et la partie de mise en œuvre puissent être modifiées indépendamment, afin que l'expansion puisse être étendue de manière flexible séparément, plutôt que de remuer ensemble. Un côté de l'expansion peut affecter l'autre côté.
3. Si vous souhaitez implémenter des modifications partielles, cela n'affectera pas le client. Vous pouvez utiliser le mode Bridge. Le client exécute une interface axée sur les abstraites. Les modifications du partiel peuvent être indépendantes de la partie abstraite, et elle n'affectera pas le client. On peut également dire qu'il est transparent pour le client.
4. Si un schéma de mise en œuvre héréditaire est adopté, de nombreuses sous-classes seront générées. Pour ce cas, vous pouvez envisager d'utiliser un mode de pont pour analyser les raisons des modifications des fonctions pour voir si elles peuvent être séparées en différentes dimensions, puis les séparer à travers le mode de pont pour réduire le nombre de sous-classes.
Si un système doit ajouter plus de flexibilité entre les rôles abstraits et concrétisés construits, évitez de créer des connexions statiques entre les deux niveaux.
Les caractères abstraits et les caractères concrètes devraient pouvoir être sous-classés. Dans ce cas, le modèle de pont peut combiner de manière flexible différents rôles abstraits et en béton et se développer indépendamment.
Tout changement dans la conception nécessite que le rôle de mise en œuvre ne doit pas affecter le client ou que les changements de rôle de mise en œuvre sont complètement transparents pour le client.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.