Aplikacija koju pravim treba da se poveže sa jednim ili više DLL-ova koja će vršiti prijem podataka. Kako ne znam koliko će različitih načina imati za prijem podataka (stalno će se dodavati novi način), odlučio sam da svaka klasa za prijem podataka bude u okviru svog DLL-a i da bude "nezavisna". Kako bi sve komponente za prijem imale iste metode, evente i sl u glavnoj aplikaciji sam definisao interfejs koji će koristiti sve te komponente
Code:
Public Interface IMonsoftReceiver
Event ReceivedEvent(ByVal cReceivedEvent As clsReceivedEvent)
Event ParsingError(ByVal ReceivedData As String, ByVal ErrorDescription As String)
Function StartMonitoring() As Long
Function StopMonitoring() As Long
End Interface
Public Interface IMonsoftReceiver
Event ReceivedEvent(ByVal cReceivedEvent As clsReceivedEvent)
Event ParsingError(ByVal ReceivedData As String, ByVal ErrorDescription As String)
Function StartMonitoring() As Long
Function StopMonitoring() As Long
End Interface
Svaki DLL za prijem podataka će kao referencu imati glavni program i implementiraće taj interfejs i ... to je to.
Code:
Implements MonSoft.IMonsoftReceiver
Implements MonSoft.IMonsoftReceiver
Koliko sam shvatio ovo automatski predstavlja early binding (glavna aplikacija zna sve metode od komponente za prijem) iako nisam ubacio referencu ka svim mogućim DLL-ovima. Da li sam dobro shvatio da ovakav način povezivanja ne bi trebalo da ima nikakve efekte na rad aplikacije po pitanju brzine ...
Sad me interesuje da li je ovo dobro ili treba nešto promeniti (npr izbaciti interfejs u novu komponentu i sl.)?
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Da je važnije biti ljubazan nego biti u pravu