Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-08-2010, 15: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, 16: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, 19: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, 19: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, 10: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, 11: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


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Anthropic ha un'AI che trova falle in Wi...
I 10 migliori sconti Amazon del weekend:...
Con un coupon scendono ancora: le super ...
Minimo storico per Samsung Galaxy S26 Ul...
Si è conclusa la missione lunare ...
EK Waterblock si arrende agli aumenti, i...
Geekbench si aggiorna: tutti i test con ...
Per la prima volta un computer quantisti...
Telecamere Reolink 4K su Amazon: Wi-Fi 6...
Anthropic vuole farsi i chip da sola? Co...
Il fondatore di Framework: il personal c...
JBL Live Flex 3 a 129€ su Amazon: ANC ad...
Come un uomo ha costruito un'azienda da ...
Multe fino a 400 euro anche se hai pagat...
Tapo lancia una valanga di offerte su Am...
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: 09:51.


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