We finished last post with this funny situation: the abstraction that represents Facebook depends on our Domain Model.
It was a bit obvious that what we needed was not only system abstractions for Facebook, Twitter and the like but Bounded Contexts. We need to acknowledge the fact that these domains are not part of our model, […]
Read the first post here.
In the previous post we were facing the problem demonstrated by the diagram below.
Our FacebookMessageParser needs an instance of AllSocialNetworks so that it can create valid Users coming from Facebook. The only implementation we have for the AllSocialNetworks interface is UserRepository, and this implementation needs a FacebookMessageParser. That’s a circular dependency, […]
Published by Phillip Calçado December 29th, 2009
in agile, books, software design and trends.
I just finished reading Peter Seibel’s new book, Coders at Work.
I was a bit skeptical at first. I only picked the book because of the big names on the cover and because Peter Siebel’s Practical Common Lisp is one of my favourite books on learn-a-new-programming-language. I thought that a book filled only with interviews with […]
Wired has a very interesting piece on how the Duke Nukem Forever project failed. It’s not only relevant because DNF is part of the nerd culture but also because it is a very interesting tale about a company that could not achieve a reasonable Definition of Done (DoD).
In software development we often talk about Done […]
Published by Phillip Calçado November 24th, 2009
in agile, business, c#, components, domain driven design, domain specific languages, economics, events, java, layers, management, object orientation, software architecture, software design, thoughtworks and trends.
As I said here before I was in Brazil some weeks ago to present at a conference. I had a really great time over there with some amazing people and would like to thank Caelum for their hard work in creating such a great conference. I’m making the slide deck and notes available in my […]
Published by Phillip Calçado August 12th, 2009
in c#, clojure, groovy, haskell, java, language oriented programming, lisp, object orientation, rails, ruby, software design, thoughtworks and trends.
In ThoughtWorks we get together at least once an year for a whole weekend to drink beer and do whatever people consider interesting. This year’s ThoughtWorks Australia Away Day (AKA Team Hug) was somewhere in Victoria and among other activities (and a bus crash) we had technical sessions.
I used one of those slots to do […]
Nick showed me this today. My favourite part:
At a workshop once, Pete McBreen said “The Agile methods are methods created by people who like to program.” While that’s not entirely true, we bet it’s more true of that particular bunch of people than of any previous gaggle of methodologists. And their oddity went even further: […]
Agile Australia 2009 is close and the deadline for talk proposals ends next week. I’ve submitted one talk proposal:
Where do Acceptance Tests go to die?
Often the first thing a mature agile developer does when picking up a new card from the story wall is to create an automated test to validate its acceptance criteria. After […]
It was one of my first days in the job. I was hired to head the development of several products for a media company and my new boss and I went to my first meeting.
The room was full of different types of people. You could tell those who were media producers from the managers […]
If you follow this blog then you probably know that one of current interests is expressive design, either using Domain-Driven Design or Domain-Specific Languages. Here is a presentation about this topic.
One of the tricky things about expressive code is that it is very hard to see how noisy a code base is. What I found […]