Note that all blogs have been migrated to georgefairbanks.com.

Model minded development

Apr 25, 2015 | George Fairbanks

I gave a talk to the Princeton chapter of the ACM on Model Minded Development.

Many slides have no text, so you’ll want to go to the Full slide deck with speaker notes.

Abstract

  • Domain-Driven Design says that we should be mindful of domain models and embed them in our code.
  • Design Patterns say that we should know a catalog of patterns so we can solve recurring problems that arise in OO code.
  • Software Architecture says that unless we are mindful of large-scale patterns and models then our systems will not achieve the qualities we seek.
  • Test-Driven Design imposes a structure on our code so that it can be more easily tested.
  • Programming styles (functional, object-oriented, procedural, etc.) impose structure on our code.

The common denominator here is that software developers are expected to keep in mind many abstract yet complex models that constrain the code they write. In some ways these constraints are a burden and in other ways they are light that illuminates a path forward.

I discussed an idea called Model Minded Development that generalizes across DDD, Design Patterns, architecture, TDD, and coding styles. The defining characteristic of senior software developers is their facility with Model Minded Development and it enables them to operate at an advanced level.

Why Rhino Research?

Rhino Research is devoted to improving the state of software practice. We do this by using our industrial and academic roots to give you the freshest and most practical advice in classes and during consulting engagements.

Our clients

We have taught classes for many kinds of clients, ranging from regular information technology shops, to huge internet shops, to NASA.

Blog

subscribe via RSS

About

Rhino Research is a training and consulting company specializing in software architecture

Address

info@rhinoresearch.com
124 W 60th St #37L
New York, NY 10023