IDisposable type and using keyword can be used not only to use classes with unmanaged resources, but also to introduce new context into our code. This article shows some of these uses.
Założenie: Chcemy mieć możliwie wysoką zgodność z SOLID + Depedency Injection Problem: Piszemy implementację, która zawiera jakieś zasoby i musi je zwalniać (czyli implementacja IDisposable) Omawiane zasoby są bardzo obciążające i nie chcemy je jak najszybciej zwalniać Nie chcemy mieć interfejsu dziedziczącego po IDisposable, bo najczęściej jest to Leaky Abstraction
Sztuka programowania 3660 dni, 13 godzin, 58 minut temu 293 źrodło rozwiń
Artykułów na temat Garbage Collector zostało napisanych już wiele. Dlatego nie będę przedstawiać dokładnie zasady jego działania, a raczej praktyczne wskazówki implementacji finalizerów i wzorca IDisposable.
W obecnym czasie, z bardzo rozwiniętymi środowiskami programistycznymi, takimi jak choćby Visual Studio, czy też Eclipse, bardzo łatwo jest rozpocząć swoją przygodę z programowaniem, które w tym przypadku czasem bardziej przypomina zabawę z klockami, niż rzeczywiste . Jednak nastawiając się na bezmyślne składanie klocków, szybko można obudzić się z przysłowiową , w sytuacji gdy zajdzie potrzeba modyfikacji lub rozszerzenia tak radośnie tworzonego kodu, a warto zaznaczyć, że nieumiejętnie sklejony kod mo...
Architektura 4559 dni, 8 godzin, 28 minut temu 475 źrodło rozwiń
Programując w C# często natrafiamy na klasy implementujące interfejs IDisposable, często też o tym nie wiedząc (nasza wina) lub nie mając o tym świadomości (kto stworzył taką bibliotekę?) – wystarczy popatrzeć na API od SharePointa i prawie od razu możemy natrafić na takie piękne kruczki, utworzenie obiektu listy powoduje przypisanie do niej obiektu witryny itp. itd. tego jest sporo. Może dlatego też większość z nas z rzadka korzysta z IDisposable a jak już korzysta to w celu pozbycia się zasobów. Jedna...
Architektura 5087 dni, 3 godziny, 20 minut temu 86 źrodło rozwiń
Reklamy środków czystości są niepowtarzalnie wręcz obleśne. Czy nikt tym wstrząśniętym stanem swojego kibla czy zlewu ”gospodyniom” nie uświadomił, że zbierać brud i syf powinno się częściej niż raz na rok? I piękny blask powstały po przejechaniu czystą szmatą po megabrudnej powierzchni niekoniecznie musi być wynikiem wylania na tąże szmatę litra reklamowanego właśnie detergentu. To tak jakby z C# usunąć interfejs IDisposable oraz konstrukcję using (coby o zbieraniu b...