Uwaga: podanie, w przeciwieństwie do bibliotek.
Mam aplikację WPF, która jest podzielona na główny projekt aplikacji i powiązane biblioteki klas.
Czy są jakieś okoliczności gdziekolwiek z klas w głównej aplikacji muszą być public
, w przeciwieństwie do internal
? Na przykład, czy powiązania danych lub konwertery wartości WPF muszą być publiczne, jeśli XAML jest w tym samym zespole?
Odpowiedzi:
3 dla odpowiedzi № 1Jeśli nie planujesz odwoływania się do pliku EXE z innej aplikacji, nie ma powodu, dla którego twoje zajęcia nie mogą być wyłącznie internal
.
3 dla odpowiedzi № 2
Jeśli nie planujesz żadnej z klas współdziałających poza plikiem wykonywalnym aplikacji, powinieneś być w porządku.
Oczywiście, byłoby inaczej, gdyby Twoja aplikacja zaczęła używać różnych złożeń do segregowania kodu.
2 dla odpowiedzi nr 3
Absolutnie.
Powinieneś użyć Zasada najmniejszego przywileju aby zarządzać interakcją między zajęciami. Jeśli nie muszą być widoczne poza bezpośrednim zgromadzeniem, użyj internal
. Jeśli będą one kiedykolwiek używane przez inną klasę, spraw, aby były private
zagnieżdżona klasa. I tak dalej.