Przez "Pionowo podzielona", to znaczy posiadające nazw nazwanych po modułów zamiast "warstwach"Jak uniknąć kolizji przestrzeni nazw i nazw klas w zespołach "partycjonowanych pionowo"?
Więc
- MyApp.Core
- MyApp.Accounting
- MyApp.OrderManagement
- MyApp.HR
zamiast,
- MyApp.UI
- MyApp.Business
- MyApp.Data
Jedynym problemem używam na to, że czasami te zespoły mogą mieć część przestrzeni nazw, która jest taka sama jak Wpisz imię.
Załóżmy, że tworzę moduł związany z kontem i nazwałem go MyApp.Account.dll z podstawową przestrzenią nazw będącą MyApp.Account. Nieuchronnie muszę utworzyć klasę o nazwie Konto. Następnie muszę użyć przestrzeni nazw lub wpisać aliasy.
Czy ktoś inny nie jest tak twórczy, jak w przypadku nazw, czy też nie ma problemów z kolizją nazw?
Czy mogę zapytać, co jest potrzebne, aby stworzyć taką przestrzeń nazw? Dlaczego nie MyApp.Business.Account? – ram
Czy mówisz, że przestrzeń nazw byłaby MyApp.Business, która zawierałaby Konto typu? Jeśli tak, jest to jeden ze sposobów radzenia sobie z tym - w rzeczywistości myślę o zachowaniu nazw złożeń jako MyApp.Accounting, a następnie o przestrzeni nazw jako MyApp.DomainObjects, w ramach której zostanie utworzony typ konta. –
Powodem, dla którego tworzę te pionowe plasterki, jest to, że każdy "moduł" może być rozwijany i utrzymywany osobno. Zamiast wszystkich funkcji w jednym zestawie w sekcji "Biznes", będziesz mieć wiele złożeń zawierających wszystkie "warstwy" wymagane do obsługi pojedynczej funkcji. –