Språk :
SWEWE Medlem :Inloggning |Registrering
Sök
Encyclopedia gemenskap |Encyclopedia Svar |Submit fråga |Ordförråd Kunskap |Överför kunskap
Föregående 2 Nästa Välj Sidor

Aspect-Oriented Programming

Se TheAgileDeveloper.Client projektet Reference.vb fil. Det är när du importerar en webbreferens ContactService skapat av wsdl.exe. Det genererar automatiskt följande kontaktklasser från WSDL.

'<remarks/>

<System.Xml.Serialization.XmlTypeAttribute (_

[Namespace]: = http://. . . . . / TheAgileDeveloper.ContactService/Service1 _)> _Public class Kontakt

'<remarks/>

Public Id As Integer

'<remarks/>

Public Firstname As String

'<remarks/>

Public EfterNamn As String

'<remarks/>

Allmän webbplats As String

End Class

Observera, hanterar Kontakt objekt endast uppgifter, men vi vill inte på något sätt att redigera koden eftersom wsdl.exe kommer automatiskt generera för oss, så att förändringarna kommer att gå förlorade när nästa generation. Jag vill presentera beteende, så det kan spara objektet genom att anropa en metod som kallas Spara som lätt uppnås genom en blandning. Multipelt arv är blandad med en replik, men den har begränsningar, som endast blandad gränssnitt. Innesluta ramen vi använder innehåller en Encaser klass, som är ansvarig för att ta emot och förpacka ett föremål. Beteende wrapper-objekt är faktiskt tänkt att skapa ett nytt objekt, i det här fallet är det nya Kontakt-objekt som innehåller blandad och skär-punkt-konfiguration.

För att skapa rätt att kalla Spara metoden på Kontakt föremål blandas in, måste du ange ett gränssnitt, jag kallar ISavable. Själva objektet är blandad ISavable gränssnitt. Vi behöver genomföra gränssnittet i en ny klass som heter ContactSave i en annan.

Public Interface ISaveable

Sub Spara ()

End Interface

Public class ContactSave

Redskap ISavable

Offentlig Kontakta Som ContactService.Contact

Public Sub Spara () Redskap ISavable.Save

ServiceManager.SaveContact (Me.Contact)

End Sub

End Class

I vår applikation, placera objektet ContactSave blandade Kontakt inser är ServiceManager. Vi kan blanda detta beteende, men ändrar inte någon klient-kod (dvs. MainForm), eftersom ansökan mix, kombinerat med Kontakt och ContactSave nya Kontakt objekt kvarstår som den ursprungliga Kontakttyp. Följande kod är resultatet av GetAllContacts ServiceManager tillvägagångssätt för att ändra, och det hanterar blandat beteende.

Public Shared Function GetAllContacts () As ContactService.Contact ()

Dim tjänsten Som ContactService.Service = Ny ContactService.Service

Dim kontakter () Som ContactService.Contact = service.GetAllContacts


Föregående 2 Nästa Välj Sidor
Användare Omdöme
Inga kommentarer
Jag vill kommentera [Besökare (3.144.*.*) | Inloggning ]

Språk :
| Kontrollera kod :


Sök

版权申明 | 隐私权政策 | Copyright @2018 World uppslagsverk kunskap