Вот класс, с которым я закончил при создании слоя данных:
public class DataRequest
{
public class DataResponse
{
public DataResponse(DataRequest req) { Request = req; }
public DataRequest Request {get; set;}
// ... here go some other fields ...
}
public Response { get; set; }
public DataRequest()
{
Response = new DataResponse(this);
}
public void Execute()
{
... Get some data and fill Response object ...
}
}
Мне нужен запрос, чтобы быть в курсе ответа, потому что он заполняет его данными; Мне нужен ответ, чтобы быть в курсе запроса, потому что когда я передаю ответ другим методам, я хочу получить доступ к исходному запросу.
Видите ли вы какие-либо потенциальные проблемы с этой архитектурой, такие как утечки памяти и т. Д., Или это просто плохая идея дизайна?