Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
Un proiettore economico, che fa della portabilità e immediatezza i suoi punti di forza. Adatto per una camera da letto o per la casa vacanze, è basato su sistema proprietario Linux ma offre piena compatibilità ufficiale a Netflix
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
Un notebook sviluppato in collaborazione con GoPro ma che risponde al meglio alle necessità di tutti coloro che creano contenuti video: robustezza, design, potenza di calcolo e funzionalità si abbinano al meglio tra di loro, pur se a prezzo di un costo elevato per via della tanta memoria onboard
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-01-2008, 02:58   #1
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Per la felicita' di Fek: Singletons Are Evil!

Mi sono messo a leggere questo:
http://www.mockobjects.com/files/endotesting.pdf
(Che guarda caso e' nei link di documentazione di UnitTesting) e tra le citazioni c'e' questo:
http://c2.com/cgi/wiki?SingletonsAreEvil

Ecco finalmente perche' i Singleton sono come la puzza!!!!
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 29-01-2008, 12:35   #2
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
OT - fek e Bonfo, scusate se approfitto del topic (che attira l'attenzione di fek) ma è importante che il team abbia una risposta a queste due domande:
http://www.hwupgrade.it/forum/showpo...6&postcount=19



grazie fek, scusa Bonfo. ciao
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 29-01-2008, 15:25   #3
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Visto che siamo in tema di Singletons..
mi sono ritrovato sotto mano il codice che avevo fatto per un programmino in C# per gestire le Properties in maniera simil-java (dato che NON ho trovato una classe equivalente in C# ) e già che c'ero l'ho reso statico.
Codice:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace FileSystemListener
{
    public static class Properties
    {
        private static Dictionary<string, string> properties = new Dictionary<string, string>();
        private static string filename = "config.properties";
        private static bool isLoaded = false;


        private static void loadProperties()
        {
            if (!isLoaded) 
            {
                StreamReader reader = File.OpenText(filename);
                string line = "";
                while ((line = reader.ReadLine()) != null)
                {
                    string[] splittedLine = line.Split('=');
                    string key = splittedLine[0];
                    string value = splittedLine[1];
                    properties.Add(key, value);
                }
                reader.Close();
                isLoaded = true;
            }
        }


        public static void setPropertiesFile(string filename)
        {
            Properties.filename = filename;
        }


        public static string get(string key)
        {
            loadProperties();
            return properties[key];
        }


        public static void add(string key, string value)
        {
            loadProperties();
            properties.Add(key, value);
        }


        public static void set(string key, string value)
        {
            loadProperties();
            properties[key] = value;
        }


        public static void save()
        {
            StreamWriter writer = File.CreateText(filename);
            foreach (string key in properties.Keys)
            {
                writer.Write(key + "=" + properties[key] + '\n');
            }
            writer.Flush();
            writer.Close();
        }
    }
}
A questo punto mi sfugge il motivo della non testabilità, dato che per renderlo perfettamente testabile mi sa che l'unica modifica da fare è eliminare il controllo effettuato da isLoaded e le chiamate multple a loadProperties che per comodità avevo inserito nel get e nel set..
E cmq come metodo lo trovo piuttosto comodo dato che effettua semplicemente il get e il set delle properties sempre uguali per tutti e condivise in tutta la VM senza bisogno di passare tra le varie classi oggetti di tipo Config e di scrivere cose del tipo environment.getConfig().getInteger("pippo");
..A voi la parola
__________________

Ultima modifica di ^TiGeRShArK^ : 30-01-2008 alle 17:51.
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 29-01-2008, 17:54   #4
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Calma... io non sono ancora ai livelli Fekkiani.
O meglio, sto iniziano ora a documentarmi e a cercare di capire il perche' del "a morte il Singleton".
Indubbiamnete prima ero molto piu' leggero sui singleton, ora mi chiedo seriamente se serve o se si puo' fare in modo diverso.
Sto scoprendo piano piano anch'io che singleton tendo a portare piu' problemi che risolverli.

Non sono per la 0 policy, ma solo per usi molto attenti.
Ora penso un po' all'esempio che hai postato e ti faccio sapere
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 29-01-2008, 20:11   #5
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da 71104 Guarda i messaggi
OT - fek e Bonfo, scusate se approfitto del topic (che attira l'attenzione di fek) ma è importante che il team abbia una risposta a queste due domande:
http://www.hwupgrade.it/forum/showpo...6&postcount=19



grazie fek, scusa Bonfo. ciao
Fammi riprendere dieci minuti che mi sono fatto tutta l'Europa avanti e indietro in quattro giorni. Leggo tutto ora.

(Il Singleton non esiste)
fek è offline   Rispondi citando il messaggio o parte di esso
Old 29-01-2008, 20:27   #6
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da fek Guarda i messaggi
Fammi riprendere dieci minuti che mi sono fatto tutta l'Europa avanti e indietro in quattro giorni. Leggo tutto ora.

(Il Singleton non esiste)
Se il cucchiaio non esiste e il singleton non esiste ... ci sono! Allora il singleton è un cucchiaio! Fico ....
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 29-01-2008, 21:04   #7
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Quote:
Originariamente inviato da AnonimoVeneziano Guarda i messaggi
Se il cucchiaio non esiste e il singleton non esiste ... ci sono! Allora il singleton è un cucchiaio! Fico ....
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 30-01-2008, 08:16   #8
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Ecco la lista dei vantaggi portati dall'uso del singleton pattern:
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 30-01-2008, 08:46   #9
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da Ufo13 Guarda i messaggi
Ecco la lista dei vantaggi portati dall'uso del singleton pattern:
Severo ma giusto.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 30-01-2008, 12:15   #10
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Quote:
Originariamente inviato da Ufo13 Guarda i messaggi
Ecco la lista dei vantaggi portati dall'uso del singleton pattern:
A parer mio sei stato fin troppo buono con questa lista
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix HONOR CHOICE Projector Air Pro: piccolo, portati...
ASUS ProArt GoPro Edition è il notebook compatto per chi crea ASUS ProArt GoPro Edition è il notebook c...
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Nuova rimodulazione da TIM: rincari fino...
Il satellite LINK che dovrebbe salvare i...
DAZN introduce il diritto di ripensament...
Perplexity porta Personal Computer su Wi...
El Paso ospiterà il nuovo hub AI ...
AMD si assicura fino a 2,5 GW di capacit...
WhatsApp porta chiamate e videochiamate ...
I robot aspirapolvere da non perdere ora...
MacBook Ultra con display OLED e un nuov...
Recensione Corsair Harpoon v2 Wireless: ...
Nasce il primo OLED con film cristallino...
Altman smonta una delle più grand...
JVC HA-S59W in prova: le cuffie on-ear l...
Professore nasconde una trappola nel com...
I chip di NVIDIA attuali progettano quel...
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: 20:33.


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