# Найкраща стаття, яку я знайшов у шаблоні Sington у C#

<datetime class="hidden">2004-01-31T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported, C#, Architecture, Software Development -->
Читайте в цій статті про впровадження [Шаблон SIngleton](http://www.yoda.arachsys.com/csharp/singleton.html) у C#. Не знаю, про що я? Ну, Візерунок Sington - це не метод в' язання для самотніх, це одна з найважливіших технік для забезпечення того, що дві людини - у мережі - її " люди " - здебільшого окремі - для instammce, не намагайтеся читати і писати ресурс одночасно. Sington визначається як об' єкт, який може бути лише одним екземпляром у межах контексту програми - отже, всі використання функціональних можливостей, які надає цей об' єкт, працюють у цьому окремому екземплярі.

Наприклад, припустімо, що у вас є текстовий файл, який містить деякі дані XML і який використовується як база даних певного роду... Гаразд, ви, звичайно ж, бажаєте уникнути того, щоб хтось писав до файла одночасно, - у найкращому випадку, ви маєте проблеми з блокуванням. У найгіршому випадку, ви можете повністю зіпсувати дані. Шаблон Sington допоможе вам у цій ситуації, якщо ви надасте єдиний шлюз для доступу до цього файла, - отже, всі дії з цим файлом стануть послідовними, а не одночасними, якщо ви уникатимете ситуацію читання / запису, описаної раніше.

Ще одним класичним прикладом ASP. NET є керування кешованими об' єктами, де може бути досить невдало мати дві гілки, які намагаються оновити кеш одночасно. У цьому випадку є розв' язання проблеми за допомогою [блокування гілки](http://www.asptoday.com/content.asp?id=2239)Але Sington є набагато чистішим архітектурним і простішим для масштабування у пізнішій даті, якщо вам потрібно надати цей інтерфейс більшій кількості елементів. У будь- якому разі, якщо ви тільки- но починаєте з візерунків, перегляньте статтю вище або, одну з найкращих книг про візерунки у програмах. NET (до речі, там вже було багато випущено), подивіться на цю статтю. [Взірці промислової архітектури](http://www.amazon.co.uk/exec/obidos/ASIN/0321127420/mostlylucid-21) - Я все ще чекаю на моделі дизайну веб-програм за допомогою ASP.NET - хто хоче написати це?
Але будьте обережні: якщо ви хочете користуватися Синглтоном, він може вплинути на продуктивність і вузьку вдачу, якщо його не використовувати обережно.