Как избавиться от этой циркулярной зависимости?

Я в настоящее время пишу несколько классов, чтобы иметь дело с локализацией в веб-приложении PHP.

Классы:

  • Locale - имеет дело с настройкой и получение языка, томазона, языка.
  • LocaleFormat - имеет дело с датами форматирования, сопоставлениями, форматами валюты и т. Д.
  • Часовой пояс - сделки с компиляцией списка часовых поясов для стран и других функций, связанных с часовыми поясами.
  • Localedata - Fetches Data Locale, например, форматы адресов и вещей, такие как почтовый код Regexes.

Все приложение работает должным образом, но мне нужно добавить еще несколько вещей в часовую зону.

Это приводит к этой проблеме: Локаль требует методов часового пояса, которые требуют методов Localedata, которые требуют методов локали.

Как я могу сломать эту круговую зависимость? Должен ли я сломать мои занятия на меньшие кусочки? Есть ли узоры для того, чтобы иметь дело с этим?

Ура :)

6
задан F21 17 September 2011 в 06:57
поделиться