Class.Class vs Namespace.Class для библиотек классов общего пользования верхнего уровня?
Какой из них более приемлем (лучшая практика)?
namespace NP
public static class IO
public static class Xml
...
// extension methods
using NP;
IO.GetAvailableResources ();
против
public static class NP
public static class IO
public static class Xml
...
// extension methods
NP.IO.GetAvailableResources ();
Также для#2
размер кода регулируется наличием частичных классов, поэтому каждый вложенный класс может находиться в отдельном файле, то же самое для методов расширения (за исключением того, что для них нет вложенного класса)
я предпочитаю#2
по нескольким причинам, таким как возможность использовать имена типов, которые уже широко используются, например,IO
, что я не хочу заменить или столкнуться.
Какой из них вы предпочитаете? Есть плюсы и минусы для каждого? Какова лучшая практика для этого случая?
РЕДАКТИРОВАТЬ: Также будет ли разница в производительности между двумя?