对象应该有一个状态和行为。在实现外观模式时,外观对象通常缺少状态,只有行为。
这种模式可以接受吗?这是一个悬而未决的问题,因此请提供更多信息,然后回答是/否
发布于 2012-11-12 16:19:39
答案就在问题的正文中。Facade对于它自己来说是无用的,它总是伴随着另一个确实有状态的对象。Facade只增加了耦合的对象接口。所以,是的,这是可以的。
发布于 2012-11-12 17:40:46
没有“一个对象应该总是有一个状态和行为”这样的规则。相反,有一些模式建议您的对象很少或没有状态(如Stateless Services),很少或没有行为(如Data Transfer Objects)。至于外观设计模式,我相信它没有显式地说明它的状态和行为,所以如何实现它取决于你,但大多数情况下它不需要任何状态……
发布于 2012-11-12 17:15:25
Facade可能会有状态,因为它们可能需要自己做一些工作,例如审计日志或统计数据生成。
如果他们不需要状态,这也是完全可以接受的。
https://stackoverflow.com/questions/13340226
复制相似问题