# Mallit ja harjoitukset... imeä!

<datetime class="hidden">2006-06-24T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported -->
## 

Mallit ja harjoitukset... imeä!

Posted on Tuesday, July 20, 2004 10:42

Uskon tehneeni aiemmin melko selväksi, että yksi Microsoftin "kehittäjäkokemuksen" heikoimmista alueista on [Mallien ja harjoitusten alue](http://www.microsoft.com/resources/practices/default.mspx)Yritä löytää sivustolta artikkeli Singletonin kuviosta; vinkki, älä käytä Haku-ominaisuutta, se palauttaa linkin [Välimuistin sovelluslohko](http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/CachingBlock.asp) "Singletonille" ja "Singleton Patternille" ei mitään! Kun onnistut löytämään sen ([täällä](http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns/html/ImpSingletonInCsharp.asp)), saatat huomata muutaman asian:

1. Se ei oikeastaan selitä, missä / miksi haluat käyttää sitä, tässä on "Context"

*"Rakennat sovelluksen C#:hen. Tarvitset luokan, jolla on vain yksi instanssi, ja sinun täytyy tarjota maailmanlaajuinen mahdollisuus käyttää instanssia. Haluat olla varma, että ratkaisusi on tehokas ja että se hyödyntää Microsoft .NET:n yhteisiä kielenkäyttöominaisuuksia. Voit myös haluta varmistaa, että ratkaisusi on turvallinen. "*

Mikä on teknisesti tarkkaa, ehdottomasti...ok, joten miksi oikeasti haluat käyttää sitä? Jotkin esimerkit voivat auttaa tässä!

2. Tämä ei todellakaan ole helpoin tai edes paras toteutus - minun rahoilleni, [tämä on](http://www.yoda.arachsys.com/csharp/singleton.html) - on paljon versioita, joissa selitetään kunkin hyödyt ja haitat.

Olen valittanut tästä aiemmin, miksi teen sen uudelleen? Yritin löytää kunnollista toteutusta tietyn kaavan, [Lähettäjän näkymä](http://java.sun.com/blueprints/corej2eepatterns/Patterns/DispatcherView.html) - Lopulta menin [Aurinkokuvioiden sivusto](http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html) Ja se käännettiin J2EE-versiosta C#...joka on rasittavaa! En löydä viestiä tällä hetkellä, mutta luin jonkun blogista juttuja, joiden mukaan huomio oli kohdistunut "ammattimaiseen" kehittäjään, eikä P&P-sivuston "opportunistiin", joka tarkoittaa niitä, joilla on muodollista kompostikoulutusta, verrattuna niihin, jotka päättivät tulla kehittäjiksi, kun he olivat valmistuneet toiseen aiheeseen.
En tiedä, onko Iso-Britannia epätavallinen, mutta sanoisin, että monista kehittäjistä, joiden kanssa olen työskennellyt, noin 5 prosenttia on itse asiassa ollut vastavalmistuneita, eikä heitä ole helppo tunnistaa taitotasoltaan.
Minusta tämä on todella ärsyttävää, mallien pitäisi olla kaikkien kehittäjien universaalia kieltä, varmasti, "Enterprise Developer" tulee todennäköisesti turvautumaan enemmän kuvioihin (sillä kuvioiden käyttö voi yksinkertaistaa huomattavasti monimutkaisten yritysjärjestelmien luomista ja tulevaa ymmärtämistä), mutta uskon todella, että Microsoft on pudottanut pallon siihen, ettei se työnnä kuvioita enemmän yleiseen kehittäjäyhteisöön. [DoFactory](http://www.dofactory.com/Patterns/Patterns.aspx) Täytät osan aukosta, mutta olen silti ymmälläni Patterns-agnosiasta kohteissa, kuten [MSDN](http://msdn.microsoft.com/), jopa [Arkkitehtuurikeskus](http://msdn.microsoft.com/architecture) Hädin tuskin mainitsee niitä. Se on kuin rakentaisi talon raaka-aineista, kuten savesta ja puusta, eikä käyttäisi tiiliä ja ovia.

Oli miten oli, törmäsin...