Я начал использовать аспекты для проверки параметров в нашей среде разработки. Это прекрасно работает, и мне нравится не засорять первую половину открытого метода кодом проверки.
Что мне интересно, есть ли у кого-нибудь рекомендации относительно того, где в структуре пространства имен вы бы поместили проверку параметров? Часть меня считает, что, поскольку это функциональность верхнего уровня, она должна находиться в пространстве имен продуктов верхнего уровня - очень похоже на то, как System используется в .NET Framework. Я просто беспокоюсь о том, чтобы сборка ядра раздувалась с такими дополнительными функциями, как это происходит дальше.
В том виде, в каком оно сейчас стоит, у меня есть что-то вроде:
[Компания]. [Product] .ParameterValidators
В этом примере ParameterValidators - это имя класса (аспект), который содержит функциональность.
Помимо этого, я был бы признателен, если бы у кого-то были дополнительные рекомендации по включению аспектов в существующую кодовую базу в отношении структурного размещения.