Hey… Bro… Got Any Good Source?
Aside from reading books and attending community groups, one of the best things a developer can do improve their skills is read other peoples code. I have many projects on my machine that I check out and study any chance I get. Every time I poke around these repositories, I always come away inspired. (though there is no limit of WTF’s)
Here are a few I peruse from time to time: (and a few that are on my list)
ASP.NET MVC enables you to build model-view-controller (MVC) applications by using ASP.NET.
Autofac is a fresh approach to IoC in .NET that fits well with C# 3.0… Autofac was designed with modern .NET features and obsessive object-orientation in mind. It will change the way you approach dependency injection in .NET.
Castle (MonoRail, Windsor, ActiveRecord)
Castle is an open source project for .net that aspires to simplify the development of enterprise and web applications. Offering a set of tools (working together or independently) and integration with others open source projects, Castle helps you get more done with less code and in less time.
IronPython is a new implementation of the Python programming language running on .NET. It supports an interactive console with fully dynamic compilation. It is well integrated with the rest of the .NET Framework and makes all .NET libraries easily available to Python programmers, while maintaining full compatibility with the Python language.
Site does not have a description, but this source repository includes the MSpec BDD testing framework, and some other cool stuff like Machine.Migrations.
Designed to move from the RDBMS used for dead object storage today into an all-in-memory design with shared-none scaling.
The goal of Magnum is to provide a high-performance, distributed object data store that is in-memory, redundant, and shared-nothing.
Currently, there are only some infrastructure and common assemblies packed with reusable code fragments that were becoming tedious to add to every project.
MassTransit (Currently my favorite)
MassTransit is lean service bus implementation for building loosely coupled applications using the .NET framework.
The lean implementation is supported by the YAGNI principle. By focusing on a tight set of specific concerns, the touch points between Mass Transit and the application are minimized resulting in a clear and concise set of interfaces.
The Managed Extensibility Framework (MEF) is a new library in .NET that enables greater reuse of applications and components. Using MEF, .NET applications can make the shift from being statically compiled to dynamically composed. If you are building extensible applications, extensible frameworks and application extensions, then MEF is for you.
Moq (pronounced “Mock-you” or just “Mock”) is the only mocking library for .NET developed from scratch to take full advantage of .NET 3.5 (i.e. Linq expression trees) and C# 3.0 features (i.e. lambda expressions) that make it the most productive, type-safe and refactoring-friendly mocking library available. And it supports mocking interfaces as well as classes. Its API is extremely simple and straightforward, and doesn’t require any prior knowledge or experience with mocking concepts.
NHibernate is a port of Hibernate Core for Java to the .NET Framework. It handles persisting plain .NET objects to and from an underlying relational database. Given an XML description of your entities and relationships, NHibernate automatically generates SQL for loading and storing the objects. Optionally, you can describe your mapping metadata with attributes in your source code.
NServiceBus is an open source communications framework that makes building enterprise .NET systems easier. By providing scalability critical features like publish/subscribe support, integrated long-running transactions/sagas, and deep extensibility NServiceBus provides a solid foundation for any distributed system.
The Composite Application Guidance for WPF can help you split the development of your WPF client application across multiple development teams, each responsible for the development of a piece of the application, and help you seamlessly compose those pieces together into a client application. The guidance includes a reference implementation, reusable library code (called the Composite Application Library), documentation, quick start tutorials and hands-on labs.
A collection of useful tools for developers in .Net, including mocking framework, utility library, extention to Castle’s Windsor, etc.
StructureMap is a Dependency Injection framework that can be used to improve the architectural qualities of an object oriented system by reducing the mechanical costs of good design techniques. StructureMap can enable looser coupling between classes and their dependencies, improve the testability of a class structure, and provide generic flexibility mechanisms. Used judiciously, StructureMap can greatly enhance the opportunities for code reuse by minimizing direct coupling between classes and configuration mechanisms.
The Unity Application Block (Unity) is a lightweight extensible dependency injection container with support for constructor, property, and method call injection.
Unity addresses the issues faced by developers engaged in component-based software engineering. Modern business applications consist of custom business objects and components that perform specific or generic tasks within the application, in addition to components that individually address cross cutting concerns such as logging, authentication, authorization, caching, and exception handling.
Please feel free to post a link/description in the comments to any cool projects you are currently checking out or working on.