InfoQ Homepage Design Pattern Content on InfoQ
-
Models and Their Interfaces in C# API Design
Traditional MVC, MVP, MVVM, Web MVC; the common element in every UI pattern is the Model. And while there are many articles discussing the view, controllers, and presenters in these architectures, almost no thought is given to the models. In this article we’ll look at the model itself and the .NET interfaces that they implement.
-
Q&A on The Rise and Fall of Software Recipes
Darius Blasband has written a book which challenges the conventional wisdom of software engineering: he protests against the adoption of recipes and standards-based approaches and rails against the status-quo. He calls himself a codeaholic who advocates for careful consideration of the specific context and the use of domain specific languages wherever possible.
-
Advanced Use Cases for the Repository Pattern in .NET
In our previous article, we looked at the basic patterns needed to implement a repository. In many cases these patterns were such a thin layer around the underlying data access technology they were essentially unnecessary. However, once you have a repository in place, many new opportunities become available.
-
Implementation Strategies for the Repository Pattern with Entity Framework, Dapper, and Chain
This article will focus on the basic functionality that one would find in a typical repository created with .NET. We’ll look at both general functionality and how that functionality would be implemented using three different styles of ORM: Entity Framework, Dapper, and Tortuga Chain.
-
Configure Once, Run Everywhere: Decoupling Configuration and Runtime
Configuration is one of the most widely used cross-cutting concerns in application development. Apache Tamaya is a new incubator project that brings standardized property management to Java.
-
Refactoring for Software Design Smells Review and Q&A with the Authors
Refactoring for Software Design Smells by Girish Suryanarayana, Ganesh Samarthyam, and Tushar Sharma presents a catalogue of typical software design smells and how they can be fixed.
-
Agile Architecture Applied
Agile is adaptive. When and how to apply architecture depends on the context. This article first explains why this is the case and then how you can still give proper attention to architecture in an agile setting. Adaptability and conversation are the essentials.
-
Microservices: Decomposing Applications for Deployability and Scalability
What are microservices? This article describes the increasingly popular Microservice architecture pattern, used to architect large, complex and long-lived applications as a set of cohesive services that evolve over time.
-
Modern Enterprise Performance Analysis Antipatterns
In this article we present some of the most common performance analysis antipatterns in the enterprise platform, expressed in terms of their basic causes along with remediation strategies.
-
Design Patterns: Magic or Myth?
In this article, author discusses the effectiveness of the usage of design patterns in software development. The analysis is based on surveys and mapping studies conducted to indicate which patterns were considered useful under what circumstances.
-
Interview: Adrian Cockcroft on High Availability, Best Practices, and Lessons Learned in the Cloud
Netflix is a widely referenced case study for how to effectively operate a cloud application at scale. While their hyper-resilient approach may not be necessary at most organizations, Netflix has advanced the conversation about what it means to build modern systems. In this interview, InfoQ spoke with Adrian Cockcroft who is the Cloud Architect for the Netflix platform.
-
Interview with Sandi Metz on Practical Object-Oriented Design in Ruby
On occasion of the second edition of her book “Practical Object-Oriented Design in Ruby: An Agile Primer”, InfoQ talked with Sandi about how her book was received, learning from open source code, making sensible use of code analysis tools and other topics.