Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-08-2010, 16:40   #1
Maxti
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
Maxti è offline   Rispondi citando il messaggio o parte di esso
Old 05-08-2010, 17:48   #2
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
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
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 05-08-2010, 20:03   #3
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Maxti Guarda i messaggi
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
Se vuoi un software il più possibile "generico" che non sia limitato esclusivamente all'utilizzo di un singolo ActiveX (per quale scopo vorresti usare ActiveX differenti? Ma soprattutto perchè usare ActiveX per visualizzare immagini?), devi per prima cosa pensare che il tuo software è un software per la visualizzazione di immagini. Qundi pensare prima alle funzionalità che il tuo software intende esporre, visualizzazione foto singola/galleria, zoom, eventuali ritocchi (non ho idea di cosa tu voglia fare con le foto). Una volta definite le funzionalità, definirai i dati che ti sono necessari e da qui un livello Adapter verso il tuo ActiveX. Il giorno che dovrai cambiare ActiveX dovrai scrivere un nuovo strato di Adapter ma il tuo software continuerà a funzionare come prima.

Questo sempre tutto molto in generale perchè poi bisognerebbe capire meglio cosa intendi fare di preciso. E gli strumenti che hai a disposizione.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 05-08-2010, 20:14   #4
nuovoUtente86
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.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 06-08-2010, 11:57   #5
Maxti
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.
Maxti è offline   Rispondi citando il messaggio o parte di esso
Old 06-08-2010, 12:43   #6
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Maxti Guarda i messaggi
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.
Quello che stai descrivendo qui si può esprimere con una interfaccia.
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 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.
E' anche vero, però, essendo tu (per ora) poco avezzo a queste cose, e avendo poco tempo, che sarebbe meglio procedere per gradi.
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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
I produttori non faranno sconti sulle me...
Ubisoft potrebbe cedere pezzi se il pian...
Qualcomm potrebbe utilizzare una tecnolo...
Starfield per Nintendo Switch 2 potrebbe...
Un MacBook Pro a -300€, i MacBook Air M4...
Amazon abbassa i prezzi sugli iPhone: sc...
Amazon, ancora sconti sugli smartphone A...
iPhone Air 2 'riciclerà' alcuni c...
Offerta Amazon da non perdere: lo speake...
Nioh 3 debutta alla grande su Steam: pri...
Al centro della Via Lattea ci potrebbe e...
Elon Musk ora guarda alla Luna: SpaceX p...
La Cina ha lanciato nuovamente lo spazio...
Blue Origin potrebbe realizzare il lande...
Artemis II: il prossimo Wet Dress Rehear...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:40.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v