Sprog :
SWEWE Medlem :Logon |Registrering
Søg
Encyclopedia samfund |Encyclopedia Svar |Indsend spørgsmål |Ordforråd Viden |Upload viden
Forrige 2 Næste Vælg sider

Aspect-Oriented Programming

Se TheAgileDeveloper.Client projekt Reference.vb fil. Det er, når du importerer en Web henvisning ContactService skabt af wsdl.exe. Det genererer automatisk følgende kontaktoplysninger klasser fra WSDL.

'<remarks/>

<System.Xml.Serialization.XmlTypeAttribute (_

[Navnerum]: = http://. . . . . / TheAgileDeveloper.ContactService/Service1 _)> _Offentlig Class Kontakt

'<remarks/>

Public Id As Integer

'<remarks/>

Public Fornavn As String

'<remarks/>

Public Efternavn As String

'<remarks/>

Offentlige websted As String

End Class

Bemærk, håndtag Kontakt objekt kun data, men vi ønsker ikke på nogen måde at redigere kode, fordi wsdl.exe automatisk vil generere for os, så ændringerne går tabt, når den næste generation. Jeg ønsker at indføre adfærd, så det kan spare objektet ved at kalde en metode kaldet Save, som er let opnået gennem en blanding. Multipel arv er blandet med en kopi, men det har begrænsninger, som f.eks kun blandet interface. Indramme rammer, vi bruger indeholder en Encaser klasse, som er ansvarlig for at modtage og pakke et objekt. Behavior wrapper objekt er faktisk beregnet til at oprette et nyt objekt, i dette tilfælde, er den nye Contact objekt, der indeholder blandet og cut-point konfiguration.

At skabe mulighed for at ringe til Spar-metoden på Kontakt objekter blandet i, skal du angive en grænseflade, jeg kalder ISavable. Det faktiske formål er blandet ISavable interface. Vi er nødt til at gennemføre grænsefladen i en ny klasse kaldet ContactSave i en anden.

Public interface ISaveable

Sub Gem ()

End interface

Public Class ContactSave

Gennemfører ISavable

Offentlig Kontakt Som ContactService.Contact

Public Sub Gem () Gennemfører ISavable.Save

ServiceManager.SaveContact (Me.Contact)

End Sub

End Class

I vores ansøgning, placere objektet ContactSave blandet Kontakt indser er Servicechef. Vi kan blande denne adfærd, men det ændrer ikke noget klient kode (dvs. MainForm), fordi ansøgningen mix kombineret med Kontakt og ContactSave ny Kontakt objekt forbliver som den oprindelige Contact type. Følgende kode er resultatet af GetAllContacts Servicechef tilgang til at ændre, og det håndterer blandet adfærd.

Offentlige Delt Funktion GetAllContacts () As ContactService.Contact ()

Dim tjeneste Som ContactService.Service = Ny ContactService.Service

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


Forrige 2 Næste Vælg sider
Bruger Anmeldelse
Ingen kommentarer endnu
Jeg ønsker at kommentere [Besøgende (3.142.*.*) | Logon ]

Sprog :
| Tjek kode :


Søg

版权申明 | 隐私权政策 | Copyright @2018 Verden encyklopædiske viden