Я недавно начал работать с C # и NHibernate, так что все это для меня новичок.
В приложении, которое я создаю, мне нужно рассчитать расстояния между почтовыми индексами Великобритании.
Один из подходов заключается в использовании координатной сетки и расстояния Пифагора.
Другой подход - использовать Google Maps для определения расстояний.
У меня есть интерфейс Ipostcode
с методом getDistance(IPostcode p)
и в зависимости от реализаций классы будут разговаривать с разными таблицами.
Для Grid References у меня будет объект GridRefPostcode и таблица БД: (строка) почтовый индекс, (длинный) север, (длинный) восток.
Для Карт Google я буду использовать объект GoogleMapsPostcode и таблицу БД: (строка) почтовый индекс, (строка) otherPostcode, (двойное) расстояние.
Класс Person будет иметь поле IPostcode
, а затем я буду рассчитывать расстояния на основе getDistance()
, предоставленной обоими классами.
Теперь вопрос: как отобразить эти классовые отношения в NHibernate? Как я могу вписать интерфейс в отображение?
Person
^
|
IPostcode ( Interface )
^ ^
| |
GridRefPostcode GoogleMapsPostcode
Возможно ли это вообще? У меня есть ощущение, что моя классовая структура должна быть полностью изменена, но это, кажется, самое разумное решение: если у меня есть расстояние между двумя почтовыми индексами, предоставленными Google, я использую его, если он недоступен, я ухожу GridReferences.
Любые идеи высоко ценятся!