Here's another simple example of how the as(...) idiom can be used for create an API which is stable, elegant, but extensible (this time unrelated to any semantic stuff). Up to a few days ago, I had the following interface in the GeoCoding API of forceTen:
public interface GeoCoderEntity extends Comparable<GeoCoderEntity>, Serializable, As, Lookup.Provider
I've been trying to install OpenSolaris since 2006, with no luck. At that time, probably, there were some blocking bugs of the installer when working in a MacBook Pro; furthermore network drivers were only available for 64 bits (and I only got a first generation MacBook Pro). About one year ago I bought a 64-bit MacBook Pro and probably the bugs had been fixed by that time, but I filled my 500GiB...
You know, everybody has been saying it for years, that when we design a software in object-oriented way we must focus on one single thing at a time.
Baby steps. It means setting small, reasonable goals; one tiny step at a time. It's one of the most important best practices for software development.
And we know that most of the good programming principles come back from the 90's. Yesterday at...
I've previously blogged about the as(...)
pattern I'm using for my projects. In an email exchange with Taylor Cowan,
I've been made aware that Taylor
has been using this pattern since a quite a few time in his JenaBean
is another big player in the world of RDF and Java). A stripped down
pseudocode from his example:
has been born as the container of components for rendering geographic
views and representing the related modes for the geotagging
capabilities of blueMarine;
but it has been also reused in two more server-side projects, where a
special focus has been given to the models.
The most trivial feature is the capability of managing accurate geo
tags: for instance, no duplicates and no...