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

  • Interview: Eric Evans on Domain Driven Design

    Ever since Eric Evans wrote the book Domain-Driven Design in 2004 he has been a significant voice advancing domain modeling and design concepts. In this interview with Floyd Marinescu he talks about some of the recent refinements in Domain-Driven Design and how people are advancing the field today.

  • Why API design matters

    API design affects all developers. Some APIs are a pleasure to work with, others are annoying and yet others are downright frustrating. But what's makes the difference? Which qualities make one API easy to use and another hard? The ACM Queue recently published an article by Michi Henning about API design; an article that analyzes these aspects.

  • Programming for Parrallelism: The Parallel Hierarchies Pattern

    Multi-core processors offer new performance opportunities. Shekhar Borkar from Intel highlighted, however, that software development practices have to be retooled to leverage this potential. In this vein, Prof. Jorge L. Ortega-Arjona from the National Autonomous University of Mexico has recently introduced a new architectural pattern for parallel programming: Parallel Hierarchies pattern.

  • Pattern Oriented Software Architecture Volumes 4 and 5 released

    Volume 4 and 5 in the Pattern-Oriented Software Architecture book series has been released. Volume 4 is about a pattern language for distributed computing and volume 5 is an in-depth look of what patterns are, what they are not, and how to use them successfully. InfoQ spoke to the authors to find out more.

  • Retire Microsoft's Four SOA tenets?

    Microsoft's Harry Pierson (a.k.a. DevHawk) suggest that Microsoft's own 4 tenets for SOA should be retired because, well, they are, in Harry's opinion, useless - at least they are not useful anymore.

  • Do You Need a Data Layer?

    With LINQ nearing release, the need for a separate data access layer needs to be reevaluated. Is it still an essential part of an application's design? Or has it become an appendix of the past?

  • Capistrano gets competition: Vlad the Deployer

    Capistrano, a popular deployment tool for Rails, is challenged by Vlad the Deployer, a tool which offers similar functionality with a much simpler implementation. We talked to the Ruby Hit Squad group that released version 1.0 of Vlad.

  • Data normalization, is it really that good?

    Normalization is one of the corner-stones of database design. Recently some discussion emerged on the need for normalization suggesting denormalization as a more scalable solution.

  • Presentation: Amazon CTO Werner Vogels on Availability and Consistency

    When we move to distributed architectures for scalability and/or fault-tolerance reasons we are also introducing additional complexities. Amazon CTO Werner Vogels dives into the different parameters that play in the tension between availability and consistency and presents a generalized model that we can use to reason about the trade-offs between different solutions.

  • Gang of Four Design Patterns - Does it stand the test of time?

    More than a decade ago by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides known as the Gang of Four (GoF) published their seminal book "Design Patterns: Elements of Reusable Object-Oriented Software". The GoF book, which is considered the harbinger of the whole software patterns movement, has recently been criticized as no longer relevant.

  • Does software design really pay off?

    Many developers have encountered a situation where they’ve been asked to cut down on design and "just get the job done". Martin Fowler presented his doubts about this strategy and explained trading design quality for speed is illusory for projects longer than just a few weeks.

  • Using Amazon Web Services to Implement a Video File Conversion app

    As covered on InfoQ in the past, Amazon's infrastructure services platform is enabling new levels of cost savings as well as capabilities for certain classes of applications that can map to its scalable compute and storage services. One recent sample application demonstrates building a complete video file conversion service.

  • Presentation: Introduction to Component Based Architecture

    Mark Miller provides an introduction to Component Based Architecture and its competitive advantages. First delivered at devLink, Mark covers the theory of Component Architecture and its effect on Developers, Customers and the software product itself.

  • Are Agile Development Practices Detrimental to Architecture and Design?

    Is iterative and incremental development à la Agile practices - where one builds only what is required per iteration - detrimental to good design? Does Scrum encourage ignoring architectural issues? Can design and architecture evolve effectively without the technical Agile practices? Does test-first development lead to good design? Or does the red-green-refactor loop stall at local-minima?

  • Rails Mockup Driven Development with Lilu

    There was a debate 2 years ago about Rails and its lack of a built in templating language, and whether one should be introduced. Today there are more than 5 templating systems: ERB, HAML, Liquid, Amrita2. All of them however mix Ruby or Ruby derivatives with HTML. Lilu aims at completely decoupling static HTML and Ruby code.

BT