Рассмотрите следующий дизайн, я сомневаюсь, если бы я правильно применил шаблон дизайна Facade
. Меня беспокоит то, что я манипулировал простым запросом, исходящим от клиента; и не наивно делегировать запрос инкапсулированному типу: ComplexWorker
. Это нормально? Разве это не шаблон дизайна Wrapper
?Дизайн фасада Образец: Преобразование запроса клиента
class WorkFacade
{
public void Work(SimpleRequest simpleRequest)
{
ComplexRequest = new ComplexRequest(simpleRequest);
ComplexRequest.RequestTime = DateTime.Now;
ComplexRequest.UserId = 120;
new ComplexWorker().Work(ComplexRequest, 2015, 6, 7, 23, 12, 1);
}
}
class ComplexRequest
{
ComplexRequest(SimpleRequest request)
{
// Code to convert simple request to complex request
// understandable by ComplexRequest
}
}
class ComplexWorker
{
void Work(ComplexRequest request)
{
//...
}
}
'Information Hiding'; вот что я искал. – Hans