Web Log di Adrian Florea

"You know you've achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away." Antoine de Saint-Exupery
posts - 440, comments - 2715, trackbacks - 3944

My Links

Archives

Post Categories

Image Galleries

.RO Blogs

.RO People

.RO Sites

Blogs

Furls

Links

vinCitori

Più singleton e meno cose strane :-)

Nel mio articolo "L'individuazione via reflection delle classi singleton all'interno del Framework .NET" - grazie per il rating 4,70 :-) - trovavo le seguenti 3 classi singleton:

  • Microsoft.JScript.Empty
  • Microsoft.JScript.Missing
  • System.DBNull

e finivo l'articolo con una mia perplessità:

"Giocando con vari test e cambiando leggermente i requisiti di implementazione ho scoperto che la classe System.Reflection.Missing ha il costruttore internal anziché private, per il resto è un singleton puro. Mi chiedo se si tratta di una disattenzione da parte degli sviluppatori del Framework oppure se è stata pensata come singleton solo all'esterno del Framework. Un caso simile è quello della classe interna System.Empty dove di nuovo il costruttore risulta internal."

su queste altre due classi:

  • System.Reflection.Missing
  • System.Empty.

Adesso, con la nuova versione del Framework (v2.0.40607), ho riprovato a vedere i risultati del mio codice e ho scoperto che avevo ragione :-) Nella versione v1.1.4322System.Reflection.Missing e System.Empty erano dei singleton "mascherati" (adesso sono singleton come tutti gli altri!). Inoltre hanno aggiunto anche questi 5, nuovi:

  • System.Data.Odbc.OdbcFactory
  • System.Data.OleDb.OleDbFactory
  • System.Data.ProviderBase.DbConnectionPoolIdentity
  • System.Data.SqlClient.SqlClientFactory
  • System.Data.OracleClient.OracleClientFactory

Come nell'altro post, scopro quindi che, a parte le novità più visibili, hanno messo a posto delle piccole cose che non erano proprio perfette. Bello.

Print | posted on mercoledì 30 giugno 2004 04:13 | Filed Under [ Pattern Dappertutto Un po' di numeri ]

Powered by:
Powered By Subtext Powered By ASP.NET