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.