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.
In Command Pattern, an object is used to represent and encapsulate all the information needed to call the method at a later time – method name, object that owns the method and values for the parameters. In the first part of an article series “The Command Pattern In .NET”, Eric Vogel walks through using the ICommand interface in the context of WPF applications.
In his new article “MapReduce Patterns, Algorithms, and Use Cases”, Ilya Katsov gives a systematic view of the different MapReduce patterns, algorithms and techniques that can be found on the web or in scientific articles along with several practical use case studies.
Five candidate patterns were promoted to the SOA Patterns Master List, which will appear in the upcoming "SOA with REST" book from Thomas Erl and Prentice Hall Publications. This news item gives a brief overview of each of these patterns which are common distributed system patterns applied to services at the messaging layer.
The Special Interest Group on Software Engineering (SIGSOFT) of the Association for Computing Machinery (ACM) have awarded Mary Shaw and Dave Garlan the Outstanding Research Award 2011. Both computer scientists have pioneered the work on Software Architecture at the Software Engineering Institute of the Carnegie Mellon University in Pittsburgh.
Software Architecture is one of the important topics for software engineers, because many failures of software development projects are caused by inadequate design. Thus, it is essential to learn more about architectural issues in theory and practice. Interesting new books that have been published recently or in the near future could be very helpful
There is a constant tussle between following Agile techniques and still managing to do enterprise architecture. While Agile development focuses on adjusting the design as more insight is gained, architecture establishes the technology stack and addresses quality attributes. Combination of the two is successful when agile techniques are leveraged to drive towards the desired architecture.
At the Interop 2011 conference in Las Vegas, Alistair Croll of Bitcurrent delivered a talk titled “How to Think Like a Cloud.” This session pointed out the differences between a traditional application development approach and a utility computing mindset.
Jon Galloway is researching dynamic ASP.NET MVC 3 models using Mono’s Compiler as a Service. Meanwhile Karsten Januszewski is looking into deserialized JSON in lieu of statically typed models.
Late last month Google released Guice 3.0, a Java framework that implements the dependency injection (DI) design pattern. The motivation behind Guice was to make it easier for programmers to write DI code by reducing the need to write boilerplate factories. This article examines the new 3.0 features, loks at how Guice 3.0 supports Spring DI, and introduces Guice 4.1 (a.k.a. MiniGuice).
The OOP conference (Object Oriented Programming) was held in Munich, Germany, from 24th to 28th January 2011 with “Business Impact through Mastering Change” as its general motto. Despite of its name, the OOP represents one of the largest and long-lasting events on the general field of software engineering.
Over the last few months WMware's Steve Jin has published several design patterns around working with virtual machines in the cloud, especially vCloud.
Karl Shifflett released the final release of Prism 4 to MSDN on November 12. Simultaneously, Karl also published the first installment of a series of multimedia training that is consumed within Visual Studio 2010 called, In the Box.
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.