InfoQ

Topic/Tag specific view

All content and news on InfoQ about Design


Latest featured content about Design

Patterns for securing architectures

Community
Architecture
Topics
Security,
Design

Security is all about trade-offs you make with your always limited resources, often a problem when designing a system or an after-thought. Only a few have the expertise to design good security and most development teams have no security expert. This talk focuses on Security Patterns for designing security in architectures, such as Role-based Access Control, Single Access Point, and Front Door.

News about Design

Try to get the best of your Statically Typed Language

Community
Architecture
Topics
Programming,
Design

The use of dynamic type-checking in static languages is often perceived as unavoidable on complex projects, even though workarounds necessary to enforce it tend to negatively impact the quality of code. According to Debasish Ghosh, features in static languages, i.e. Java generics, offer an opportunity to avoid runtime type checking and optimize the advantages of static typing.

Insights: You don't need your DSL to be English-like

Community
Architecture
Topics
Domain Specific Languages,
Design

There is a widespread opinion that a good DSL has to be English-like. Dave Thomas advocates against such approach asserting that DSL are not about getting as close as possible to natural languages and that having this as a guiding principle of DSL design can be rather detrimental. He also highlights what he believes is important in DSL design and provides some examples of successful DSL.

Articles about Design

Drinking your Guice too quickly?

Community
Architecture
Topics
Programming,
Design

Dependency Injection has been around for a while, and many teams are refactoring their applications to use DI. But it can be a struggle. In this article, Paul Hammant explains the route to take to move an existing application from a nest-of-singletons design to a full fledged DI design.

Addressing Doubts about REST

Community
SOA
Topics
Web Services,
Design

Invariably, learning about REST means that you’ll end up wondering just how applicable the concept really isbeyond introductory, “Hello, World”-level stuff. In this article, Stefan Tilkov addresses 10 of the most common doubts people have about REST when they start exploring it, especially if they have a strong background in the architectural approach behind SOAP/WSDL-based Web services.

Interviews about Design

Michael Stal on Architecture Refactoring

Community
Architecture
Topics
Enterprise Architecture,
Design

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.

QCon Panel: What will the Future of Java Development Be?

Community
Java
Topics
Language,
Leadership,
Change,
Platforms,
Design,
Programming,
.NET Framework,
Community

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.

Presentations about Design

Eric Evans on DDD: Strategic Design

Community
Architecture
Topics
Object Oriented Design,
Language,
Design,
Modeling

This talk introduces two broad principles for strategic design. 'Context mapping' addresses the fact that different groups model differently. 'Core domain' distills a shared vision of the system's "core domain" and provides a systematic guide to when "good enough" is good enough versus when to push for excellence.

DDD: putting the model to work

Community
Architecture
Topics
Object Oriented Design,
Language,
Design,
Modeling

This talk will outline some of the foundations of domain-driven design:How models are chosen and evaluated;How multiple models coexist;How the patterns help avoid the common pitfalls, such as overly interconnected models;How developers and domain experts together in a DDD team engage in deeper exploration of their problem domain and make that understanding tangible as a practical software design.