I have started using aspects for parameter validation in our development framework. It works nicely, and I enjoy not littering the first half of a public method with validation code.
What I am wondering is if anyone has any recommendations with where in the namespace structure you would place parameter validation? Part of me thinks that since it is top level functionality, it should be in the top-level product namespace - much like the way that System is used in the .NET Framework. I just worry about having the core assembly bloat with more features like this as it goes further down the line.
As it stands right now, I have them in something like:
[Company].[Product].ParameterValidators
In this example, ParameterValidators is the name of the class (aspect) which contains the functionality.
Apart from this, I would be appreciative if anyone had further recommendations for incorporating aspects into an existing codebase in relation to structural placement.