When I first switched from Java to C#, I was really impressed with C#'s features. However, it seems to me that C# has yet to provide solid infrastructures in the way JavaEE does.
Everytime I try to integrate C#'s features into scalable or complexe architectures, it always comes down to: How can I twist this so it can be MVC / MVP? Databinding, for instance, has gave me more headaches than it had saved me time.
MSDN has lots of documentation related to architecture and patterns. However, for the most part, they are "textbook" and don't address how these concepts relate to .NET features.
JavaEE's EJBs and Apache's Struts both seem to encourage MVC architectures. Like most of JavaEE, they tend to put the emphasis on seperation concepts and scalability, making them candidates for large scale projects.
Apache puts it like this: Struts is like "standing on the shoulders of a giant". Can I make my way onto .NET's shoulders, too?
The best one-liner I could come up with is:
Is there any C# architecture-shaping framework commonly used in large scale projects?
I couln't resist the analogy: I feel like .NET is the Power Rangers while JavaEE is Megazord...
Disclaimer: I'm sold to C#, over Java. I've lead a couple of small-medium scale projects in C#, mostly using MVP seperation; I'm just trying to "fill the void".