/ / Czy wszystkie klasy w mojej aplikacji .NET mogą być wewnętrzne? - .net

Czy wszystkie klasy w mojej aplikacji .NET mogą być wewnętrzne? - .net

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 № 1

Jeś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.