Archive for the 'software architecture' Category

Everyday Tales: Anatomy of a Refactoring – Part 3

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, […]

Everyday Tales: Anatomy of a Refactoring – Part 2

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, […]

Everyday Tales: Anatomy of a Refactoring

I’ve been extremely busy with project after project in the past few months, leaving me no time to do any research and/or play around interesting things. Even though I prefer to write about what is really interesting me at a given moment, I think that writing about some smaller/simpler problems and solutions would be better […]

I Wish I Knew That Before Getting This Job – Slides and (Long) Notes

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 […]

Don’t Trust Fake IDs

After so many years I thought that this was a dead topic but recently I saw at least two reasonably experienced developers having trouble with object identity and thought that it would be good to write about it.
Most languages define some kind of equality operator on objects, in Java, for example, that is the equals […]

3 Things Agile Teams Should Care About

Regardless of what kind of team you have, it is a given that if you keep the wrong focus you are going to be in some kind of trouble. It is very important for a team to have a clear understanding of the project’s goals and constraints. That sounds like PM-speak but it’s not only […]

Tag Clouds: See How Noisy Your Code Is

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 […]

Getting Cloudy: Clojure on Google App Engine

Some weeks ago I joined a handful of ThoughtWorkers invited to test the new Google AppEngine’s Java API. Unfortunately I had a project requiring a lot of attention during most of this period but once back on the beach I found some time to play around with it.
Cloudy Skies
Google AppEngine (GAE) is Google’s shot in […]

Gödel and Testing

For some months now I’ve being playing around the idea of writing a testing framework for Clojure. It started as just a more extensible fork of the fact library but now I’m trying to explore some funny ideas in the testing semantics.

Although this project is progressing too slowly it already spawned some other pet […]

Expessive Design - Slides

Just posted slides for a presentation I gave this week for one of our clients.
Expressive Design (in 20 minutes)
View more presentations from Phillip Calçado.

It was a very nice session where we talked about the hard work that is introducing such ideas in a corporate environment as those are finally reaching mainstream.
Notice that in this presentation […]




About

You are currently browsing the Fragmental.tw weblog archives for the software architecture category.

Longer entries are truncated. Click the headline of an entry to read it in its entirety.





Creative Commons License

This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.