More and more industry-leading companies are turning to PostSharp for its ability to save development costs, reduce software defects and increase application maintainability.
"PostSharp is a pretty amazing piece of software."
Stay DRY with aspect oriented programming by injecting repetitive code directly into your application. Abstractions like AOP are the whole point of what the computer is supposed to do for us, work that’s not fun, like logging and transactions. So why not hide that?
"Working declaratively is a dream!"
PostSharp is the best way to implement cross-cutting functionalities in a very elegant and efficient way. And when you want to enforce some design rules in your code, working declaratively is a dream!
"PostSharp simplicity is simply amazing."
PostSharp rocks! And I mean that as someone who is doing AOP for a long while, and has implemented some not insignificant parts of Castle.DynamicProxy. Leaving aside the amount of power that it gives you, PostSharp simplicity is simply amazing, wow!
"No better system out there."
PostSharp enables me to achieve things unobtrusively where other frameworks are large, ungainly, intrusive, slow, and require me to alter my architecture. As a past user of other AOP systems I am convinced there is no better system out there right now.
"We consider the use of AOP and PostSharp a competitive advantage."
By multicasting into different namespaces, and associating a configuration key to each trace aspect woven into the code, our team can easily turn tracing on or off dynamically and get instant diagnostics. Even if we didn't extend our aspects any further, the base library of custom aspects we have continue to provide leverage as our technology evolves and grows.
"Dramatically improves the readability of my code."
PostSharp lets me abstract away cross-cutting concerns, which dramatically improves the readability of my code – my efficiency is improved too as I’m writing less boilerplate and more features. Before PostSharp I experimented with several alternatives, but all of them shared a common critical problem: terrible runtime performance. PostSharp solves this by doing most of its work at compile time, so everything runs smoothly at runtime.
I have been using PostSharp about two years; I have found it to be highly reliable and well thought-out system, and would have no hesitation in recommending it to other developers.
"It has reduced thousands of lines of code."
PostSharp was especially good when we had to embed applications and needed to transfer data between them. We would have had to write a lot of code if not for just one aspect and now we don’t even think about it. It’s made life a lot easier from a development point of view.
"PostSharp is very easy to use."
Releasing developers from writing boilerplate or infrastructure code helps my team to complete features faster. We definitely save coding time with PostSharp. We’re relieved from writing INotifyPropertyChanged and creating ICommand properties needed for data binding. We also avoid errors/bugs which would have occurred by forgetting to raise the appropriate PropertyChanged events.
"Way to go, PostSharp!"
Manually implementing caching on a large service layer to an application already in production isn't easy. So instead I wrote a caching and logging block, and used PostSharp's multi-casting feature to apply them to our service layer, and voilà! Within minutes we had a phenomenal increase in our tests. If not for PostSharp we wouldn’t have fixed the issue so quickly.
"PostSharp simplifies our code, without making our code simple."
By using PostSharp, we've been able to consolidate and vastly simplify our code, making it more readable and maintainable. It's allowed us to more consistently leverage code throughout the code base without having to continually rewrite the same functionality over and over again. We've been so satisfied with PostSharp and AOP, that we've begun looking for other ways to leverage such a powerful framework.
"PostSharp has literally saved me thousands of lines of code."
PostSharp was exactly what I was looking for. A clean, simple, well documented way for me to de-clutter my code by removing logging and authentication boilerplate.