InfoQ Homepage Design Content on InfoQ
-
Clojure: The Art of Abstraction
Alex Miller presents some of the abstractions that make Clojure a great language: Collections, Sequence and Higher Order Functions, Multimethods, Protocols, Atoms, Macros, and others.
-
Design and Architecture Tools in Visual Studio 2010
David Starr presents some of the tools in Visual Studio Ultimate 2010 helpful for building an application’s architecture: Architecture Explorer, Dependency Graphs, UML Modeling, and Layer Diagrams.
-
Compile-time Verification, It's Not Just for Type Safety Any More
Greg Young talks about .NET’s Contracts library, showing how to use it, what it is good for, and how it improves code quality.
-
Pragmatic Software Architecture and the Role of the Architect
Joe Wirtley introduces software architecture and the role of the architect in software development along with techniques, tips and resources to help one get started thinking as an architect.
-
Where Did My Architecture Go?
Eoin Woods advices on writing code that preserves the initial architectural design using conventions, dependency analysis, module systems, augmenting the code & checking rules, and language extensions
-
Futures Trade Flow
Ian Bond presents the development of a trade flow event-driven architecture, providing the background of futures trade, the domain and the solution, sharing some of the lessons learned along the way.
-
5 Classic Patterns in Everyday Code
Michael Wood explains the importance of using patterns in software design, exemplifying with Adapter, Decorator, Command, and several Factory patterns.
-
Mobile App Privacy — You’re Doing It Wrong (and So Am I)
Graham Lee advices on how to create an user experience that properly deals with privacy and, in some respect, security issues in mobile applications.
-
Using Design Thinking to Stop Building Worthless Software
Jeff Patton outlines the concepts behind design thinking: clear problem definition, ideation, iteration, and execution plans that emphasize continuous learning, accompanied by real-life examples.
-
The Code is the Design
Mark Haskamp supports the idea that source code is the design blueprint and the entire documentation of a software product.
-
Parallel Programming Patterns: Data Parallelism
Ralph Johnson presents several data parallelism patterns, including related Java, C# and C++ libraries from Intel and Microsoft, comparing it with other forms of parallelism such as actor programming.
-
Savara - Formally Verifying SOA Designs Against Requirements
Steve Ross-Talbot presents Savara, comprising a set of tools enabling enterprise architects to validate various artifacts against other artifacts based on the “Testable Architecture” methodology.