Ich versuche herauszufinden, was hier zu tun ist. Ich habe Kundendaten in zwei verschiedenen 3rd-Party-Apps, die ich in einer angemessenen Datenstruktur organisieren muss, bevor ich Änderungen vornehme. Ich habe derzeit zwei Unterklassen von Kunden, einen für jede 3rd Party App.Matching zwei subclassed Objekte in vb.NET
Public MustInherit Class Customer
Public ID as String
Public Name as String
Public.... more shared members here
End Class
Public Class Application1Customer
Inherits Customer
Public Application1SpecificData....
End Class
Public Class Application2Customer
Inherits Customer
Public Application2SpeceficData.....
End Class
Ich brauche alle Instanzen Customer1 ihren jeweiligen Customer2s abzubilden. Ich habe einen Algorithmus, der die Logik hat, um eine Instanz von Kunde1 zu geben, und eine Liste von Kunden2 findet die passende Übereinstimmung.
Hier ist, wo ich nach Design-Ideen suche ... Kunden sind nicht die einzigen Daten, die zwischen den beiden Anwendungen abgestimmt werden. Ich habe auch zwei Item-Klassen, zwei Payment-Klassen, zwei Invoice-Klassen usw. Jede dieser Klassen hat ihren eigenen Algorithmus, um Instanzen zu vergleichen ... Ich möchte die Menge an wiederverwendbarem Code maximieren.
Fragen:
Was ist ein gutes Design Musterabschnitt zur Anpassung?
In welcher Datenstruktur habe ich ein übereinstimmendes Objektpaar gespeichert?
Mein aktueller Gedanke:
Diese Unterklassen eine Art von Matchable Interface implementieren. Diese Schnittstelle enthält eine Methode, die wie folgt aussieht:
Public Function matchToApp (Sammlung Matchable) Als Matchable
Ein neuer Objekttyp mit zwei Eigenschaften, eine für jede App kombinierbare ...
Ich bin mir sicher, dass es da draußen noch kreativere Möglichkeiten gibt. Irgendwelche Vorschläge?
Dank