Pracuję nad aplikacją Silverlight. Podzieliłem go na kilka zespołów:
- Domena
- Repozytoria (wszystko z utrzymywaniem się w bazie danych Sterling)
- Interfejs użytkownika
- ...
Tak się nauczyłem, ale zastanawiałem się. Jeśli wiesz, że biblioteki DLL nie będą ponownie wykorzystywane, czy konieczne jest ich podzielenie? A może umieścisz wszystko w jednym zestawie i użyjesz folderów i przestrzeni nazw, aby utrzymać porządek?
Widziałem także projekty, które mają zbyt wiele zespołów. Zamiast używać przestrzeni nazw, w których byłoby to właściwe.
Więc: kiedy tworzysz nowy zespół dla jakiegoś nowego fragmentu kodu? Jakieś dobre zasoby na ten temat? I czy dzielisz kod pod względem technicznym (domena, dane, interfejs użytkownika itp.) I / lub funkcjonalnie (tj. Administracja pacjenta, pacjent-medycyna, logistyka szpitalna, ... - prawdopodobnie tylko w przypadku większych aplikacji na poziomie przedsiębiorstwa)?
A
,B
,C
,D
,E
,F
,G
,H
,I
,J
,K
. Gdziekolwiek odwoływać montażA
, należy także odwołać swoje zespoły zależne:B
,C
,D
. Ale zespółC
jest zależna od:E
,F
,G
,H
więc będziemy potrzebować tych zbyt. Kiedy więc potrzebujesz jakiejś funkcji,A
musisz rozebrać 7 dodatkowych zestawów, aby działała; upewniając się, że otrzymujesz poprawne wersje każdego zestawu. Witamy w nowej bibliotece DLL Hell.Zestaw jest jednostką wdrażania aplikacji .NET; dlatego należy rozważyć dopasowanie wycięcia zestawów do architektury wdrażania.
Zespoły są również przydatne, gdy potrzebna jest osobna kontrola wersji niektórych kodów. Na przykład, jeśli masz wspólne interfejsy, które skorzystałyby na niezależnej kontroli wersji, powinieneś rozdzielić ten kod na zestaw.
Pamiętaj, że przestrzenie nazw mogą obejmować zespoły. W wielu przypadkach wystarczy oddzielić zachowanie za pomocą przestrzeni nazw. Spójrz na .NET,
mscorlib.dll
który w jednym zestawie zawiera kod, który obejmuje szeroki wachlarz zachowań oddzielonych tylko przestrzenią nazw.Jeśli chcesz mieć autorytet w tym temacie, nie szukaj dalej niż:
Wytyczne dotyczące projektowania ram: konwencje, idiomy i wzory dla bibliotek .NET wielokrotnego użytku (wydanie drugie) autorstwa Krzysztofa Cwaliny i Brada Abramsa.
źródło