【发布时间】:2015-09-09 08:15:52
【问题描述】:
考虑以下设计,我怀疑我是否以正确的方式实现了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)
{
//...
}
}
【问题讨论】:
标签: design-patterns architecture facade