Po prostu zaczynam projekt, a ponieważ ten projekt jest osobisty, zastanawiałem się, jakie są zalety korzystania z Biblioteki Enterprise? Używamy wersji 2 dla kilku projektów w biurze, ale nie jestem do końca pewien (poza dobrymi praktykami) jego zalet, zwłaszcza w komponencie bazy danych. Jakakolwiek rada? DziękiZalety i wady korzystania z biblioteki Enterprise
Odpowiedz
Dla bloku aplikacji do bazy danych główną zaletą jest to, że ułatwia tworzenie kodu agnostycznego bazy danych. Deweloper współdziała głównie z typowymi obiektami Database i DbCommand, a nie np. SqlConnection, SqlCommand itd. W ten sposób przejście na inną bazę danych (np. Oracle) staje się bardziej wykonalne. W zależności od potrzeb biznesowych może to stanowić zdecydowaną przewagę. EntLib również delikatnie produje dewelopera w kierunku używania parametru DbParameter do parametrów zapytania, co zmniejsza ryzyko ataków typu SQL injection.
Kolejny plakat, o którym wspomniano, blok aplikacji danych jest nieco wyższy niż proste klasy ADO.NET, więc zwykle wymaga mniejszej liczby wierszy kodu, aby zrobić to samo.
Z mojego punktu widzenia najbardziej przydatne są bloki danych, wyjątków i rejestrowania. Wyjątki i logowanie razem bardzo ułatwiają rejestrowanie wyjątków (duh) w wielu miejscach i w wielu formatach. Na przykład, mogą umieścić cały wpis dziennika wyjątków, w tym ślad stosu, w dzienniku zdarzeń systemu Windows, co pozwala stosunkowo łatwo zdiagnozować problem.
Jedną z wad EntLib jest to, że niektóre bloki aplikacji umieszczają dość logikę w plikach konfiguracyjnych. Więc twoja logika jest bardziej rozłożona; niektóre są w kodzie, niektóre w plikach konfiguracyjnych. Plusem jest to, że konfigurację można zmodyfikować po zakończeniu kompilacji, a nawet po wdrożeniu.
Mój zespół dokonał oceny Microsoft Patterns and Practices Enterprise Library około 2 lat temu w ramach przeprojektowania naszej linii produktów. Jedyną częścią, którą wykorzystaliśmy, był blok bazy danych. Zawiesiliśmy nawet to w niektórych klasach, które moglibyśmy utworzyć, abyśmy mogli wyśmiać DAL dla testów jednostkowych; blok kodu Microsoft używał wywołań statycznych do pracy z bazą danych. Nie jestem pewien, czy Microsoft zintegruje dowolny element LINQtoSQL lub Entity Framework z blokiem db. Byłbym niezdecydowany, aby skorzystać z bloku db teraz, jeśli nie korzystał z jednego z nich.
Jeśli chodzi o rejestrowanie, okazało się, że Log4Net jest znacznie bardziej niezawodnym i elastycznym rozwiązaniem, które rejestruje firma Microsoft. Połączyliśmy to z naszymi potrzebami w zakresie rejestrowania.
Do obsługi wyjątków przetworzyliśmy własne. Kod Microsoft nie zajmował się zdalnymi przypadkami, z którymi chcieliśmy sobie poradzić, a ponieważ używaliśmy zewnętrznego systemu logowania, lepiej było napisać własną bibliotekę wyjątków i zintegrować się z nią. Przekonałem się, że pewien poziom integracji struktury logowania w ramach wyjątków może być bardzo użyteczny. Napisaliśmy lekkie klasy otoki wokół Log4Net i wywołaliśmy je z naszego rejestrowania wyjątków, więc nie wprowadziliśmy zależności na Log4Net.
Oprócz elementów wymienionych przez Pawła na temat bloku danych aplikacji, chciałbym również zaznaczyć, że z mojego doświadczenia wynika, że blok aplikacji danych zapewnia znacznie SZYBKĄ metodę zapisu potrzebnego kodu bazy danych, z pomocnikami, którzy istnieją . Używam go ze względu na jego spójny wygląd i dynamikę rozwoju.
Wydaje mi się dziwne, że MS projektuje ADO.NET, a następnie projektują bloki danych aplikacji i mówią "użyj tego", to jest to, co odnoszą sukcesy w projektach, nie mówiąc, że ADO.NET jest zbyt uciążliwy. – ChadD
- 1. Zalety i wady korzystania z programu Storyboarding?
- 2. Zalety i wady CardView
- 3. Zalety i wady BPMN?
- 4. Zalety i wady Haskella
- 5. Zalety i wady korzystania z biblioteki współdzielonej w pełni enkapsulowanej EAR
- 6. Jakie są zalety i wady statycznego łączenia biblioteki?
- 7. Zalety i wady bibliotek klienta Clojure http:
- 8. Event-driven CMS - zalety i wady
- 9. Zalety/wady strategii Redis paginacji
- 10. CCI vs. Mono.Cecil - zalety i wady
- 11. Zalety i wady posiadania złożonego klucza podstawowego ...
- 12. Baza danych Zalety/wady i alternatywy EAV
- 13. Wady korzystania z NodeJS zamiast PHP
- 14. Jakie są zalety i wady korzystania z usługi w innym procesie?
- 15. Zalety i wady korzystania z paneli aktualizacji Ajax w aplikacji ASP.NET
- 16. Wszelkie wady korzystania z iframe
- 17. Web Service VS. Strony Aspx: Wady i zalety
- 18. Zalety/wady obiektu obserwatora globalnego vs. mieszanka
- 19. Zalety korzystania z Core Graphics
- 20. Zalety i wady SQLite.NET i SQL Server Compact
- 21. Logowanie sesji a uwierzytelnianie HTTP. Zalety Wady:
- 22. Zalety/Wady różnych implementacji porównywania obiektów
- 23. Jakie są zalety/wady szwy nad sprężyną?
- 24. Polecenia WPF a zdarzenia Zalety/wady
- 25. trzy sposoby zachowywania wykres w pamięci, zalety i wady
- 26. Zalety i wady umieszczania kontekstu db w statycznej bibliotece klas
- 27. Zapytania dotyczące różnych baz danych, łączy zalety i wady.
- 28. Jakie są (potencjalne) wady korzystania z meteor.js?
- 29. Czy istnieją wady korzystania z przygotowanych wyciągów?
- 30. Jakie są wady korzystania z Lucene?
Po prostu z ciekawości, ile czasu zajęło Ci uruchomienie blokady wyjątku? Stary dokument lekarza powiedział "pół dnia" krzywej uczenia się, jakie było twoje doświadczenie? –
Roszczenia M $ nie są nierozsądne, jeśli twoim celem jest posiadanie podstawowej wiedzy na temat konfiguracji bloku wyjątków (konsola konfiguracyjna jest tutaj nieoceniona). Korzystanie z tego bloku aplikacji (w rzeczy samej, wszystkie bloki aplikacji) wymaga jednak zmian kodu, więc YMMV. –
Czy inny dostawca może być używany przez bloki danych (np.MySql) lub tylko to, co jest zawarte w strukturze (Oracle/SQL Server)? –