The community research we published on .NET tools and practices had more than 650 votes leading to some interesting results. We attempt to draw insights.
ASP.NET Web API comes with a Dependency Resolver interface that lets you inject dependencies into your controller. However Mark Seemann suggests it is better to use the IHttpControllerActivator interface for this purpose, with a couple of examples.
Dagger is a new dependency injection framework for the Android environment. It offers a subset of features of Google Guice (some of the developers work on both projects) but focuses on a lightweight solution in order to offer better performance. Dagger also attempts to report binding errors during compile time instead of run time.
InfoQ's research initiative continues with an 8th question: "What are the most widely used .NET practices and tools?". This is a new service we hope will provide you with up-to-date & bias-free community-based insight into trends & behaviors that affect enterprise software development. Unlike traditional vendor/analyst-based research, our research is based on answers provided by YOU.
Evolve is a lightweight tool for creating, wiring up and executing Java components. Developers can use Evolve to graphically describe JavaBeans and also optionally generate Java code for setters and getters. InfoQ spoke with Andrew McVeigh about the tool.
Microsoft’s ASP.NET team has taken the Agile philosophy of Deploy Early, Deploy Often to heart. Close on the heels of ASP.NET MVC 2, version 3 beta has already been approved for production use. With a whole host of promising new features including the Razor syntax, this will be a hard release to ignore.
Sonatype, the professional services company that sponsors the development of many key Maven committers, has announced that they will build Maven 3 atop the Guice Dependency Injection (DI) container instead of the Plexus DI container employed for Maven 1 and 2. Backwards compatability will be ensured using a shim to support Plexus.
Dependency Injection has become a much more accepted and accessible approach in recent years, driven by many factors including increased popularity in SOA, TDD, and many other factors. With this has come increased usage of Dependency Injection frameworks. Bob Martin advises, with examples, applying a decoupling approach between your application code and your Dependency Injection framework.
Dependency Injection is one of the main features of recently released Java EE 6 version. JSR 330 (Dependency Injection for Java) provides a standardized and extensible API for dependency injection. And JSR 299 (Contexts and Dependency Injection for the Java EE Platform 1.0), which builds on JSR 330, unifies and simplifies the EJB and JSF programming models.
Sitebricks is a new web application development framework from Google that is built on top of Google Guice, and focuses on early error detection, low-footprint code, and fast development. InfoQ had a Q&A with the creator and Google Wave Core Engineer Dhanji Prasanna.
Earlier this year, Google and SpringSource announced that they were co-operating on a standard set of annotations to be used for dependency injection which were proposed via JSR-330. These annotations didn't line up with those proposed for JSR-299, which generated controversy that has now been resolved, with JSR-299 adopting the JSR-330 annotations and both moving forward to be part of Java EE 6.
Guice, a lightweight Java dependency injection framework created by Google, recently released version 2.0. InfoQ spoke with Google Developer Team member Jesse Wilson to learn more about this release and what capabilities it adds to Guice.
Dependency injection has been around for a while and there are quite a few frameworks which provide such capabilities for Java applications. Recently Google and SpringSource announced a partnership related to providing dependency injection for Java.
In this article Billy McCafferty presents S#arp Architecture, an ASP.NET MVC architectural framework meant to leverage current best practices in architecting ASP.NET web applications by providing a project code template which uses Domain-Driven Design techniques and has built-in support for NHibernate, Castle Windsor and SQLite.