Russ Miles recently shared some thoughts and ideas about the needs for adaptability in a system and how his implementation of the Hexagonal Architecture can help in achieving this. He used a Java and Spring based application to exemplify how such a system can be implemented.
Andras Nemes, a web developer on the .NET platform, is doing a series of blog posts on the SOLID design principles and other design patterns he has found interesting in object-oriented programming and design, currently on D in SOLID, the Dependency Inversion Principle. Earlier he has among other patterns covered Command, Builder, Visitor, Bridge and Observer.
Use events for interactions between small business components to bring simplicity to a system’s architecture, Russ Miles suggests in a recent presentation about simple event-driven components, as a follow-up on his talk a month earlier where he laid the architectural ground for his ideas about simplicity.
Using events for interactions between small business components can bring simplicity to a system’s architecture, Russ Miles explained in a presentation last week talking about Architectural Simplicity through Events.
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.
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.