InfoQ

Topic/Tag specific view

OOP Content on InfoQ


Latest featured content about OOP

Domain-Driven Design and Domain Specific Languages

Community
Architecture
Topics
Domain Specific Languages

In DDD, the "ubiquitous language" is central, but it's richness and fluency is hard to render in the object-oriented medium. Domain-specific languages hold out the prospect of to express models and application logic in far better suited language. In this presentation, Eric Evans talks about how DDD and DSLs works together in complex business applications.

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.

The Principles of Agile Design

Community
Agile
Topics
Modeling,
Design

Bob Martin of Object Mentor presents the first of his five principles of agile design. Beginning with an explanation of the real purpose of object-oriented design - the management of dependencies - Bob walks through a code example to illustrate how dependencies can be managed with abstractions, and that good designs are those in which high-level abstractions do not depend on low-level details.

News about OOP

New Open Source project provides Object Oriented data access

Community
Architecture,
Java
Topics
Object Oriented Design,
Data Access,
Announcements,
Open Source

Kasper Sørensen has created a new open source project at eobjects.dk called MetaModel. The project is a common domain model, query engine, and optimizer for different types of datastores, such as relational databases and flat files. MetaModel is a Java library that provides a fluent, object-oriented interface for SQL compliant queries.

Should you really learn another language?

Community
Architecture
Topics
Language,
Dynamic Languages,
Programming

Blogger Gustavo Duarte cursed in church when he said that learning new programming languages is often a waste of time. He said that "In reality learning a new language is a gritty business in which most of the effort is spent on low-value tasks with poor return on time invested.". But not everyone agreed.

Debate about Testing and Recoverability: Object Oriented vs. Functional Programming Languages

Community
Architecture,
Java
Topics
Delivering Quality,
Unit Testing,
Design,
Programming

In his latest blog post, Michael Feathers argued that object oriented programming languages offer some built-in features that facilitate testing and are therefore more recovery friendly than functional languages. Proponents of functional languages expressed strong disagreement with this statement, which provoked a very passionate debate in the blog community.

Dependency Injection: New Ground or Solid Footing?

Community
Architecture,
Java
Topics
Design

Dependency Injection seems like a shiny new tool in the toolbox. Andrew McVeigh tells us that DI shares a long history with architecture description languages (ADLs), simple yet sophisticated languages for component-based development through descriptive wiring. This article looks at the history of ADLs and sheds light on possible future directions of dependency injection.

Surprising criticism from parting Microsoft development lead

Community
Architecture,
.NET,
Agile
Topics
Object Oriented Design,
Delivering Quality,
Programming

Jay Bazuzi, once Development Lead for the C# Editor, is leaving Microsoft, and he wrote some surprisingly harsh parting words for his friends before he left; things like “OO isn’t a fad” and that “It’s OK to use someone else’s code”.

Designing for flexibility and robustness: Asynchronous message model, OOP and Functional Programming

Community
Architecture
Topics
Object Oriented Design,
Design,
Modeling,
Performance & Scalability,
Messaging

According to Pragmatic Programmers it is preferable in OOP to avoid design based on returning values. Michael Feathers argues that it may also be better to use the asynchronous message model that might be instrumental for improving adaptability and robustness. This maps well to the Erlang model though opposing some of the principles of pure functional programming.