InfoQ

Topic/Tag specific view

All content and news on InfoQ about Object Oriented Design


Latest featured content about Object Oriented Design

Using singleton classes for object metadata

Community
Ruby
Topics
Object Oriented Design,
Language,
Code Analysis,
Dynamic Languages

So you have a bunch of objects - let's call it an object graph - provided by some API. Now you want to to process the objects - which requires some intermediate data, for instance: the process creates some metadata that needs to be stored with the objects. The problem: where to store the metadata? We'll show how to use Ruby singleton classes to handle this problem.

News about Object Oriented Design

Rails Cells: Component-Oriented Development for Rails

Community
Ruby
Topics
Object Oriented Design,
Web Frameworks

Rails Cells aims to bring component-oriented development to Rails with its lightweight controllers and views that can easily be shared and reused. We caught up with Nick Sutterer, one of the Cells developers, to talk about the state of the project.

Adopting Simple Design

Community
Agile
Topics
Object Oriented Design,
Design

A discussion about simple design is taking place on the extremeprogramming Yahoo! group that has already resulted in several useful recommendations. The discussion started off with a request for references concerning incremental design and quickly morphed into one about successfully adopting incremental design.

TDD/BDD Leading To Incomplete Unit Tests?

Community
Agile
Topics
Object Oriented Design,
Methodologies,
Agile Techniques

Peter Ritchie raised concern about TDD and BDD keeping practitioners from writing good unit tests. He cites an over-reliance on “interaction testing", a core mantra and essence of TDD and BDD, as a driver with tendency to result in incomplete unit testing.

Private Methods, Test Driven Development, and Good Design

Community
Agile
Topics
Object Oriented Design,
Unit Testing

The claim has been made that test driven development (TDD) encourages good design. The claim has also been made that TDD adversely affects design. Focusing on private methods and their relationships to good design and testability will give us something concrete to discuss - an instance of this apparent conflict.

Articles about Object Oriented Design

Book Review: Implementation Patterns

Community
Java,
Agile
Topics
Object Oriented Design,
Programming

Kent Beck's new book, Implementation Patterns, is a book about writing code in Java. The patterns in this book are based on Kent's reading of existing code as well as his own programming habits. The patterns in this book are meant to be a coherent view of how to write code people can understand that serves human as well as economic needs.

Interviews about Object Oriented Design

Eric Evans on Domain Driven Design

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

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.

Presentations about Object Oriented 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.