InfoQ Homepage Design Content on InfoQ
-
The Pure Attribute in .NET Core
The Pure attribute was added to .NET in version 4 as part of the Code Contracts initiative to help developers distinguish between code that free from side effects from other code. While the Code Contracts project is over, the Pure attribute continues to see life in .NET Core.
-
An Incremental Architecture Approach to Building Systems
Of most of the applications we have globally, maybe 90% of them are perfectly served by a monolithic approach. To avoid overengineering, we should start with a simple architecture and evolve it as needs arise, Randy Shoup recently declared in a presentation where he described his experience with companies that started small and then grew into large global internet companies.
-
Netflix Play API: Building an Evolutionary Architecture
At QCon SF, Suudhan Rangarajan presented “Netflix Play API: Why We Built an Evolutionary Architecture”. Key takeaways included: services that have a single identity/responsibility are easier to upgrade; spend time identifying core decisions that need to be made when building a service; and designing an “evolutionary architecture” using tools like fitness functions provides many benefits.
-
InfoQ's New Desktop Design Launched
We've made a number of changes to InfoQ's desktop site, the third major overhaul of our design since we got started in 2006. You can switch to the new design now to try it out.
-
Readable Code - Why, How and When You Should Write It
Most people would say they want readable code, and may even prefer readability over functionality. But when it comes down to asking people to define readability, opinions will start to diverge. At Explore DDD 2018 , Laura Savino covered why we want readable code, what it really means to be readable, and when readability absolutely must take priority over other considerations.
-
Lessons from the UK Government's Digital Transformation Journey
Citizens can get the information and services they need more quickly because users' needs are considered in government service design, and suppliers can work with the government in modern agile ways: these are two benefits resulting from the UK Government's digital transformation. Having teams exposed directly to users motivates teams to make their products better.
-
Basic Concepts and the Future of Axon, a CQRS and Event Sourcing Framework
At the recent Event-Driven Microservices Conference in Amsterdam, Allard Buijze described in a presentation the basic concepts, the history and future of Axon, a framework for systems based on DDD, event sourcing and CQRS. The adoption of Axon Framework is growing rapidly and recently hit one million downloads.
-
Michael Feathers Wants Error Elimination to Be a Design Driver
Michael Feathers finds errors fascinating, but acknowledges that most developers don't spend a lot of time focusing on them. He also thinks most error handling is kind of giving up. Although best known for his books about working with legacy code, Feathers used his keynote presentation at Explore DDD 2018 to discuss how eliminating errors can be a design driver for software systems.
-
Eric Evans Says Domain-Driven Design (DDD) Isn't Done
During his keynote at Explore DDD, Eric Evans said "DDD isn't done." Over the past fifteen years since Domain-Driven Design was published, DDD hasn't stood still, and there is still much to do to keep DDD evolving.
-
Business Processes, Long-Running Services and Microservices
During recent years domain events are increasingly being discussed, but we should be discussing commands just as much, Martin Schimak explained at the recent DDD eXchange 2018 conference, where he covered events, command and long-running services in a microservices world, and how process managers and similar tooling can help in running core business logic.
-
Strategies for Decomposing a System into Microservices
A couple of years ago, Vladik Khononov and his team decided to start using microservices, but a few months later they found themselves in a huge mess. They concentrated on new cool technologies instead of thinking about how to decompose a system into microservices — finding the boundaries and where different functionalities should be located among these boundaries.
-
Too Many Scripts Can Kill Your Continuous Delivery
Avantika Mathur spoke at Continuous Lifecycle London last month on the costs associated with an ever increasing number of scripts in a Continuous Delivery pipeline. Besides the cost of maintaining the scripts, the lack of visibility and auditability on exactly what activities are being carried out before deploying a change to production is another major cost not many organizations are aware of.
-
Designing Reactive Systems Using DDD, Event Storming and Actors
Domain-driven design (DDD) is often used for finding boundaries (bounded contexts) around microservices. But everything in domain-driven design (DDD) is not good for microservice, Lutz Huehnken claimed in a presentation at microxchg 2018 in Berlin where he discussed how DDD, Event Storming and the Akka-based Lagom framework can be used to build reactive systems.
-
Jeff Patton on Fixing Agile Product Ownership
At the recent Agile India conference, Jeff Patton gave a keynote talk in which he challenged the way agile development approaches Product Ownership. He holds that product management is a discipline which was around before the Scrum term Product Owner was coined, and the way it has been applied in most agile organisations is, at best, a watered-down approach and real product management is needed.
-
QCon London: Asynchronous Event Architectures with or without Actors
Synchronous request-response communication in microservices systems can be really complicated. Fortunately, asynchronous event-based architectures can be used to avoid this, Yaroslav Tkachenko claimed in a presentation at QCon London 2018, where he described his experiences with event-driven architectures and how Actors can be used in systems built on this architecture.