|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2010
Messaggi: 53
|
[C#] creare un programma versatile
Ciao,
vi spiego il problema: devo creare un progetto winforms che utilizza un activeX per mostrare a video delle immagini. Qual'è sarebbe la tecnica migliore per rendere il programma abbastanza 'generico', nel senso che se volessi utilizzare un activeX diverso non debba creare il progetto da zero? Per esempio nell'activeX ho una funzione che fa partire la visualizzazione, ma vorrei che la stessa funzione si potesse adattare ad un altro activeX che ovviamente avrà la stessa tipologia di merodo ma con parametri diversi. Grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Ciao
Ti rispondo quello che a me è stato insegnato da molti degli esperti qui sul forum. Per quanto possa sembrare paradossale (in ambito OOP), non pensare ad una "generalizzazione" prematura. Focalizzati sul realizzare quello che ti serve in questo momento. Rifattorizzando spesso il tuo lavoro, potrai individuare al meglio ciò che può essere generalizzato e crearti magari una tua libreria riutilizzabile. Questo è ciò che ti consiglio se sei, come me, in una fase iniziale in termini di conoscenze e di esperienza. my 2 cents
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Questo sempre tutto molto in generale perchè poi bisognerebbe capire meglio cosa intendi fare di preciso. E gli strumenti che hai a disposizione. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
Come ti hanno già fatto notare, più o meno esplicitamente, il principio fondamentale è quello di straficare il tuo software, facendo attenzione al fatto che ogni livello sia indipendente dagli altri. Per esaltare tale strutturazione e consentire poi la comunicazione tra le varietà entità, esistono innumerevoli modi.
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Mar 2010
Messaggi: 53
|
Grazie per le risposte.
In realtà non sono sicuro di adottare questa soluzione perchè mi sembra un approccio un pò complicato e essendo agli inizi mi servirebbe tempo per capire come fare e purtroppo non ne ho molto. L'idea potrebbe essere quella di creare un interfaccia (winforms) che sia un contenitore che istanzia volta per volta l'ActiveX da utilizzare che sarà implementato all'interno di un controllo utente in una dll. Il problema è che ogni controllo utente che andrà implementato poi nel winforms dovrà contenere gli stessi metodi, in modo che quest'ultimo veda sempre le stesse funzioni. Però a livello di codice non ho idea di come poter fare, penso che si debba utilizzare dei metodi della classe reflection come assembly.load, ma sinceramente non conosco nulla di questo argomento, quindi penso che lascerò perdere o nel caso mi servisse un altro activex potrei pensarci in futuro. |
|
|
|
|
|
#6 | ||
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Il che riporta a quanto detto da tommino, quando ha nominato Adapter. Una brevissima spiegazione del concetto di Adapter puoi leggerla su wikipedia, qui. Quote:
In tal senso le considerazioni già fatte da RaouL_BennetH mi sembrano sensate; procedi a implementare quello che devi senza pensare troppo alla faccenda dello slegare l'interfaccia grafica dall'ActiveX specifico. Una volta che avrai fatto funzionare il tuo programma, potrai poi pensare a "rifattorizzarlo" applicando Adapter.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:40.




















