Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 装饰一个服务舱可以吗?_Design Patterns - Fatal编程技术网

Design patterns 装饰一个服务舱可以吗?

Design patterns 装饰一个服务舱可以吗?,design-patterns,Design Patterns,我有一个外部系统,我需要从特定的服务调用。 对我来说,这是该服务的额外责任,我计划装饰它 另一方面,调用外部系统非常重要,并且被视为业务的一部分,因此我也会将其包括在服务中,因此我遵循 装饰服务类可以吗,因为我在任何参考项目中都找不到这样的方法?所以我猜如果装饰服务类,您将只使用装饰版本,因为它包含重要的业务逻辑,没有这些逻辑,操作将不完整。如果是这样的话,就不需要修饰它、从它继承等等。只需将该附加行为添加到旧类中,或者将其委托给其他人即可。如果您不打算拥有多个派生类,那么在没有自给自足行为(非

我有一个外部系统,我需要从特定的服务调用。 对我来说,这是该服务的额外责任,我计划装饰它

另一方面,调用外部系统非常重要,并且被视为业务的一部分,因此我也会将其包括在服务中,因此我遵循


装饰服务类可以吗,因为我在任何参考项目中都找不到这样的方法?

所以我猜如果装饰服务类,您将只使用装饰版本,因为它包含重要的业务逻辑,没有这些逻辑,操作将不完整。如果是这样的话,就不需要修饰它、从它继承等等。只需将该附加行为添加到旧类中,或者将其委托给其他人即可。如果您不打算拥有多个派生类,那么在没有自给自足行为(非常类似于抽象类)的情况下公开类是没有意义的。

可能会出现不同的配置使用不调用外部系统的服务的情况。那样的话,我想装修服务会有帮助