• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Biblioteki C# - Jak się za to zabrać ?

+1 głos
94 wizyt
pytanie zadane 13 sierpnia w C# i .NET przez KazikBozia Obywatel (1,440 p.)
Witam.

Chciałbym zabrać się za pisanie bibliotek w C#/.NET
Jak się za to zabrać? Jakich zasad się trzymać? czy są jakieś miejsca gdzie mógłbym obejrzeć sobie jakieś proste biblioteki? Co mogą robić biblioteki ? Gdzie szukać pomysłów na daną bibliotekę? Czy są jakieś kursy, poradniki?

1 odpowiedź

+1 głos
odpowiedź 6 dni temu przez Rafajah Bywalec (2,150 p.)
wybrane 5 dni temu przez KazikBozia
 
Najlepsza
Biblioteki mogą robić dosłownie wszystko. Ich zadaniem jest rozwiązywanie problemów, upraszczanie, udostępnianie czegoś. Ja na przykład bardzo bluzgałem ostatnio na oficjalną bibliotekę do Minio Storage. Ewidentnie pisał to ktoś kto nie miał pojęcia o .NETcie (rozwiązanie portowane chyba z JavaScript)\

Gdzie są biblioteki?

https://github.com/quozd/awesome-dotnet

Ano tu na przykład :)

Dla mnie najważniejsze cechy dobrej biblioteki to:

1. Prostota, prosty interfejs. - im mniej dziwnych rzeczy trzeba w kodzie zrobić by zdziałać to co ta biblioteka ma faktycznie robić tym lepiej. Po co mam korzystać z biblioteki, której zrozumienie i zastosowanie w moim kodzie pochłonie więcej czasu niż jakbym napisał sobie oferowane funkcjonalności sam.

2. Dobra i przejrzysta dokumentacja - nawet najlepsza biblioteka nie będzie lubiana jeśli nikt nie będzie umiał z niej skorzystać.

3. Przeciążenia. Dużo przeciążeń - postaraj się o to by użytkownik Twojej biblioteki nie musiał cały czas wykonywać w swoim kodzie rzutowań by skorzystać z Twoich metod. Popatrz na defaultowe biblioteki .NETa. Wiele metod ma po kilka, kilkanaście przeciążeń. Dzięki temu są uniwersalne i możemy z nich łatwo korzystać.

4. Pluginowość - jako użytkownik chcę mieć wpływ, chcę móc wstrzykiwać do Twojej biblioteki własne rozwiązania. Chcę móc customizować jej zachowanie. Pozwól mi zaimplentować interfejs i wrzucić do Twojej metody własną klasę zmieniając nieco zachowanie algorytmu. Wszędzie tam gdzie nie jesteś przekonany czy rozwiązanie, które proponujesz jest jedynym prawilnym podejściem, stwórz rozwiązanie defaultowe ale pozwól na jego podmienienie. Przykład? Twoja biblioteka może zapisywać wyniki do pliku CSV za pomocą klasy ResultToCsvConverter ale dodaj interfejs IResultConverter i to jego przekaż do metody SaveToFile. Wersja podstawowa metody SaveToFilemoże być taka SaveToFile(string resultPath) ale przeciąż ją SaveToFile(string resultPath, IResultConverter converter). Dzięki temu mogę wywołać tą drugą i przekazać tam moją klasę np ResultToPdfConverter implementującą interfejs konwertera i to na moich barkach będzie spoczywało żeby konwerter wypluł coś sensownego.

Życzę przyjemności z kodzenia bibliotek, może nawet kiedyś użyję jednej z Twoich :) Powodzenia i pozdrawiam.

Podobne pytania

0 głosów
3 odpowiedzi 180 wizyt
pytanie zadane 18 lipca 2018 w Java przez Qubenz Użytkownik (570 p.)
0 głosów
2 odpowiedzi 1,054 wizyt
pytanie zadane 8 sierpnia 2017 w Rozwój zawodowy, nauka, szkoła, praca przez m4sk1n Pasjonat (16,160 p.)
Porady nie od parady
Pytania na temat serwisu SPOJ należy zadawać z odpowiednią kategorią dotyczącą tej strony.SPOJ

65,728 zapytań

112,369 odpowiedzi

237,231 komentarzy

46,688 pasjonatów

Przeglądających: 189
Pasjonatów: 4 Gości: 185

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...