BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Design Content on InfoQ

  • There is a Cowboy in my Domain! - Implementing Domain Driven Design Review and Interview

    Implementing Domain Driven Design, has brought clarity to an important but little understood area of software design. As a measure of Software Design literature, Vaughn's work is educational and fun. With real world code samples and sage advice, IDDD guides the reader through the sometimes murky waters of DDD and helps them gain the insight required to start a DDD journey of their own.

  • Agile Software Architecture Sketches and NoUML

    Understanding the software architecture of what you're building can prevent chaos and encourage collective code ownership. In the race for agility though, many teams struggle to do this, particularly since they've abandoned UML in favour of "boxes and lines" sketches. Moving fast requires good communication, but how do you do this without resorting to big design up front and UML?

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

  • A Look At Elemental Design Patterns

    Jason McC. Smith speaks with InfoQ regarding his new book, "Elemental Design Patterns", and details his approach to evolving how design patterns are documented.

  • Data Modeling: Sample E-Commerce System with MongoDB

    The rich document capabilities and atomic operation guarantees in MongoDB makes it possible to model many different applications. Even rigorous requirements of conventional applications like e-commerce system are possible in a document database. This data model (i.e. "schema design,") is useful for developing applications around any restricted resource system, not just e-commerce systems.

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

  • Codesign Challenges for Exascale Systems: Performance, Power, and Reliability

    In this IEEE article, authors talks about how a codesign methodology using modeling can benefit exascale computing systems with improved performance, power efficiency, and reliability. The five factors discussed in the codesign process are algorithms, application, programming model, runtime system, and hardware architecture.

  • The Rise of Application Analytics: A New Game Demands New Rules

    When developers know how their applications are really being used “in the wild,” they will build better software, more efficiently, and with greater confidence. Sebastian Holst shows you how using application analytics.

BT