"N" Libs

4 Sierpnia 2016

Kiedy budujemy naszą bibliotekę, w końcu nadejdzie czas aby ją nazwać. Ponieważ siedzę po uszy w dotnecie, zacząłem przyglądać się niektórym nazwom bibliotej dotnetowych i zauważyłem m.in. wzorzec “n”. Podobnie dużo bibliotek w Javie ma w nazwie “j”. Zebrałem więc kilka ciekawych n-bibliotek:

NLog

Jest to narzędzie do logowania informacji podczas działania naszej aplikacji. W tym poście opisałem jak podstawowo używać NLoga.

NSubstitute

Kiedy torzymy testy jednostkowe, często będziemy potrzebowali jakichś mocków lub stubów. NSubstitute właśnie takie mocki dostarcza. Głównym celem twórców jest zapewnienie prostej w obsłudze i zwięzłej w składni biblioteki.

NUnit

Zaczynając pracę z testami jednostkowymi w Visual Studio dostajemy MSTest, ale jeśli chcemy aby nasze testy działały również pod Mono, lub potrzbujemy trochę więcej narzędzi do naszych testów, to NUnit jest dobrym wyborem.

WaitN

Ma N na końcu, a nie na początku, ale to nic. Jest to narzędzie do przeprowadzania testów dla aplikacji webowych, które emuluje zachowanie użytkownika na stronie. Jest niestety troszkę przestarzała i wspiera IE 6-9 i FF 2-3.

nExt

Nice Extensions to zbiór rozszerzeń do aplikacji opartych o WPF i ASP.NET

nTransition

Bibioteka do kontroli przejść między stanami w aplikacji. Na początku ustala się reguły, np. przejdź ze stanu 2 do stanu 3 tylko jeśli pole X jest null, a potem podpina je do własności (tu typu int). Jeśli będzie się próbowało zmienić stan, gdy warunek nie jest spełniony to rzuci wyjątek.

nFileCache

Jest to implementacja System.Runtime.Caching.ObjectCache, gdzie cache’owane obiekty są zapisywane do pliku na dysku.

nRefs

To narzędzie pozwala na wyciągnięcie wszystkich referencji danego assembly, a następnie zapisuje je w XMLu.

nAdoni

Jeśli chcemy w naszej aplikacji sprawdzać dostępność aktualizacji, nAdoni pomoże. Definiujemy manifest, umieszczamy go online, a w naszej aplikacji używamy nAdoni do sprawdzenia czy jest dostępna aktualizacja i pobrania jej.

nBaclava

BAse CLAsses for VAlue objects” - zbiór klas wspomagających tworzenie klas kontrolujących wartości. Idea jest taka: email to string, ale jeśli opakujemy go w klasę EMailAddress to możemy dodać do niej funkcjonalność i walidację. nBaclava pomaga dostarczając klasy bazowe, które odciążają programistę.

nMQTT

Biblioteka dostarczająca interfejs do komunikacji przez protokół MQTT, wykorzystywany przy IoT, ze względu na minimalizm.

nValid

Biblioteka dostarczająca sposób tworzenia zasad walidacji typów i własności.

NHibernate

Biblioteka ORM (Object Relational Mapper) o otwartym kodzie źródłowym. Odpowiednik Entity Framework.