locked
Application design question... RRS feed

  • Question

  • User1690913399 posted

    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?

    Tuesday, February 2, 2010 8:11 PM

Answers

All replies

  • User303162096 posted

    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. 

    http://stackoverflow.com/questions/929684/is-there-common-street-addresses-database-design-for-all-addresses-of-the-world

    If you do you want to try looking into one of the companies like below if you have budget. 

    http://www.softwarecompany.com/index.htm

    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.

    http://jasonfollas.com/blog/archive/2008/03/14/sql-server-2008-spatial-data-part-1.aspx

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Tuesday, February 2, 2010 9:28 PM
  • User-952121411 posted

    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:

    seekda:

    http://webservices.seekda.com/search?q=address

    ProgrammableWeb:

    http://www.programmableweb.com/search/address

    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! Smile

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, February 3, 2010 2:10 PM
  • User1690913399 posted

    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.


    Thursday, February 25, 2010 11:31 PM
  • User-952121411 posted

    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.

     

    Friday, February 26, 2010 9:33 AM