Рекомендации по круговой зависимости

В настоящее время я пишу веб-скребок, который извлекает информацию из Интернета. В упрощенном виде это выглядит так.

Проект доступа к данным

  • Объекты для извлечения необработанных данных
  • Объекты для разбора необработанных данных на объекты (!!)
  • Сущности, возвращаемые анализатором.

Теперь , Я создаю собственно синтаксический анализатор и собираюсь использовать его следующим образом:

using Application.DataAccess;
using Application.DataAccess.Entities;

namespace Application{
 public class TestScraper{
  public static ScrapeIt()
  {
   var source = DataAcces.Retriever.Retrieve("http://example.com");
   DataAccess.Entities.Entity entity = DataAccess.Parser.Parse(source);

   //Do stuf with source here.
  }
 }
}

Как видите, синтаксический анализатор возвращает объект. Однако это находится в пространстве имен DataAccess, но это не имеет смысла ... это круг, и я действительно не знаю, как это исправить. Что ж, я мог бы придумать несколько вещей, например, создать еще один слой между этими слоями.

Но я просто хочу знать, как ВЫ решите эту проблему. И что для этого является хорошим (или лучшим).

5
задан Timo Willemsen 19 January 2011 в 12:09
поделиться