BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Design Pattern Content on InfoQ

  • 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.

  • How Would You Build Up a City from Components?

    Aliaksei Papou explores how components and common design patterns such as the Observer and Finite State Machine make it possible to design an application such that it can grow and change according to your needs using the analogy of a house.

  • Design Pattern Automation

    Despite the high total cost of ownership of a line of code, a lot of boilerplate code still gets written every day. Much of it could be avoided if we only had smarter compilers. Indeed, most boilerplate code stems from repetitive implementation of design patterns that are so well-understood that they could be implemented automatically if we had a way to teach it to compilers.

  • Refactoring Legacy Applications: A Case Study

    To refactor legacy code, the ideal is to have a suite of unit tests to prevent regressions. However it's not always that easy. This article describes a methodology to safely refactor legacy code.

  • Designing and Developing Cross-Cutting Features

    Every developer has had to integrate with another system, API or component at one point or another. And, often, a business feature must span systems. If you’ve been on a project like this or have one in the pipeline then this article provides strategies to handle the change. Also, this article covers separating system boundaries and what that means for your technical design.

  • Faster, Better, Higher – But How?

    One of the main challenges when designing software architecture is the consideration of quality attributes. Not only their design turns out to be difficult, but also the specification of these attributes. Consequently, many problems in software systems are directly related to the specification and design of quality attributes such as modifiability or performance, to name just a few.

  • Interview and Book Excerpt: Service Design Patterns

    "Service Design Patterns" catalogs design patterns that cover the entire lifecycle of web services. This book is the latest addition to the Martin Fowler signature series which also contains a section on consumer driven contracts contributed by Ian Robinson. InfoQ talked to Rob Daigneau, the author of the book, regarding various topics related to the core idea behind "Service Design Patterns".

  • Succeeding with Dependency Injection

    While the principal pattern is easy to understand it can be difficult to succeed with Dependency Injection without considering the larger context. DI is an application of the principle of Inversion of Control and to succeed with IoC you’ll also need to invert your thinking. This article provides a sketch of the mental model you need to adopt to succeed with DI.

  • Interview and Book Review: Pro HTML5 and CSS3 Design Patterns

    "Pro HTML5 and CSS3 Design Patterns" catalogs many common patterns in modern HTML5 applications. InfoQ talked to one author, Dionysios Synodinos, about the book and working with HTML5.

  • Dependency Injection with Mark Seemann

    Mark Seemann, author of Dependency Injection in .NET, talks to us about the differences between DI and Service Locators and the importance of having a Composite Root. He also touches on how these all relate back to the SOLID principals of object oriented design.

BT