Last post Feb 26, 2010 09:33 AM by atconway
Feb 02, 2010 08:11 PM|singhm|LINK
I have a requirement where I have to build an street address matching application. I just want to get an idea as to how to go about building it in an object oriented manner. The street address consists of a street number, suburb, postcode and state. Do I
go ahead and make classes for each of these constituents or is there another way of designing it?
Feb 02, 2010 09:28 PM|bcanonica|LINK
How in depth are you trying to get? Do you require address standardization or not?
If you are just looking for a basic design then this thread will be useful.
If you do you want to try looking into one of the companies like below if you have budget.
If you are looking for more of a challenge Sql Server 2008 has new spatial data types that are meant for instances likes this. Below is a great series on explaining the data types.
Feb 03, 2010 02:10 PM|atconway|LINK
You may want to consider using a Public web service that is exposed to do this work for you. I found several exposed as this is a common need (like getting the weather by zip code, airport codes, etc.) Take a look at the links below:
Then you can just call the exposed methods on the service to validate your address. As far as the design goes it can become much more streamlined. You could potentially have an 'Address' class that contained just about all of the describing properties
needed for your situation. If the class becomes too robust or non scalable, you could create some derived classes off of Address.
Hope this helps!
Feb 25, 2010 11:31 PM|singhm|LINK
Thanks to all who replied. Sorry for getting back to this after nearly 3 weeks... some health issues did not allow me to concentrate on this. Anyway, all back to normal now.
Regarding the application, here is some more information...
The addresses that I will encounter, will be in the format <floornum> <bldnum>
street num suburb state postcode. The floor number and building number are optional and rest of the fields in the address need to be filled. Now, if people were entering the data with some separator like a comma etc. it would be easy for
me to make out what the user wanted to input, but due to some constraints, I don't have to force the users to input a separator after every field. So basically, the address will be a one liner like google maps and I will need to search for it in the database.
Of course, I will need to use fuzzy logic to cater for spelling mistakes etc.
My question is how do I design the application in an object oriented way? I can think of some class called SuburbMatcher which matches the suburbs or StreetMatcher which matches the streets.
Can anyone please guide me as to how the application should be designed? I am not after the actual address matching logic as I think I can deal with that. Just need some ideas about the design.
Feb 26, 2010 09:33 AM|atconway|LINK
Just as advice, I would parse out your new questions specefic to the OOP design and begin a new thread since this one was closed; this way you will get much more exposure and many more eyes looking at the question.