Это также зависит от того, какой уровень детализации вы хотите. Например, вам нужно геокодировать адреса - производя идентификатор, который географически определяет местонахождение адреса? Вам нужно подтвердить, что адрес существует? Нужно ли вам иметь возможность преобразовать адрес в стандартный формат для национального почтового органа?
Если вам нужны эти функции, то вам нужно больше, чем ваш собственный класс - вам нужен сторонний продукт.
Я бы упомянул одну, но, хотя она и сделала это, было неприятно, если не сказать больше. Google «Качество данных», «Стандартизация адресов», «Профилирование данных» и тому подобное.