InfoQ Homepage Design Content on InfoQ
-
Joseph Yoder on Adaptive Object Model Architecture
In this interview Joseph Yoder talks about the Adaptive Object Model (AOM) architecture, a software architecture for easily adapting to changing business requirements.
-
Software Design Helps Being Agile
In this interview made by InfoQ’s Deborah Hartmann during Agile 2008, Rebecca Wirfs-Brock talks about software design, the need for good design and the technical debt that might accumulate slowing down the development process. The conclusion is that agile developers should not disregard design.
-
Greg Young Discusses State Transitions in Domain-Driven Design and DDD Best Practices
In this interview, Greg Young talks about managing state transitions in a Domain-Driven Design project using two separate models, one for reading data from datastore and the other for write-only command operations. He also discussed Command Query Separation to keep the design cleaner and easier to test and maintain and the best practices that developers can use when working on DDD projects.
-
Similarities Between Interaction Designers and Agile Programmers
In this interview made during Agile 2008, Alan Cooper, the father of Visual Basic and supporter of interaction design, talks about his contact with the Agile movement and the similarities discovered between Agile programmers and interaction designers.
-
Simon Peyton Jones on Programming Languages and Research Work
In this QCon London 2008 interview, computer scientist and researcher Simon Peyton Jones discusses properties of functional programming languages, and particularly Haskell, that have inspired some features in mainstream languages. He gives his opinion on the issues of syntax and language complexity and talks about some research work on subjects such as Data parallelism and transactional memory.
-
Erich Gamma Discusses Jazz, Eclipse, JUnit and Design Patterns
In this interview from QCon London 2008, Erich Gamma discusses the Jazz project, why Eclipse has been successful, the strict Eclipse release schedule, JUnit, Design Patterns, how to identify a design pattern, design patterns and the 'Don't Repeat Yourself' principle, the design pattern community, and whether dependency injection is a design pattern.
-
Eric Evans Interviews Greg Young on the Architecture of a Large Transaction System
Eric Evans, the author of Domain Driven Design, interviews Greg Young about the architecture implemented for a system processing tens of thousands of transactions per second. It's not just the sheer number of transactions that is challenging, but the time constraints imposed are those specific to real-time systems. Greg reveals some of the architecture elements of the system's design.
-
Randy Shoup Discusses the eBay Architecture
In this interview from QCon San Francisco 2007, Randy Shoup discusses the architecture of eBay. Topics discussed include eBay's architectural principles, horizontal and vertical partitioning, ACID vs. BASE, handling data inconsistency, distributed caching, updating eBay on the fly, architectural and coding standards, eBay's search infrastructure, grid computing, and SOA.
-
Cédric Beust discusses Designing for Testability
In this interview from QCon San Francisco 2007, Cédric Beust discusses designing and architecting for testability, problems that hinder testability, test-driven development, the "Next Generation Testing" book, performance testing recipes, and testing small, medium and large codebases.
-
Michael Stal on Architecture Refactoring
In this interview from OOPSLA 2007, Michael Stal talks about architecture refactoring. He describes what architecture refactoring is, its relationship to code refactoring and patterns, and he gives real world examples of how architecture refactorings have been done and when not to do it.
-
CORBA Guru Steve Vinoski on REST, Web Services, and Erlang
In this interview, recorded at QCon San Francisco 2007, CORBA Guru Steve Vinoski talks to Stefan Tilkov about his appreciation for REST, occasions when he would still use CORBA and the role of description languages for distributed systems. Other topics covered include the benefits of knowing many programming languages, and the usefulness of of Erlang to build distributed systems.
-
QCon Panel: What will the Future of Java Development Be?
In this panel discussion from QCon San Francisco, several influential leaders of the software development community discussed and debated the future of the Java language and APIs based upon the lessons we have learned from the past. Topics included static versus dynamic languages, removing code from Java, forking the JVM, and the next big programming language.