当前位置 : 主页 > 手机开发 > 其它 >

设计模式 – 类之间的循环依赖关系

来源:互联网 收集:自由互联 发布时间:2021-06-22
我遇到两个类之间依赖关系的麻烦. 问题如下: 我有两个类,Timestamp和Exception.异常是抽象的,所有可能的异常都来自这个抽象类. 每个异常都有一个时间戳来告诉抛出异常的时间.所以异常
我遇到两个类之间依赖关系的麻烦.
问题如下:

我有两个类,Timestamp和Exception.异常是抽象的,所有可能的异常都来自这个抽象类.
每个异常都有一个时间戳来告诉抛出异常的时间.所以异常需要包括(在我使用它的语言中称为import)时间戳类.
但是,如果使用时间戳错误,则会发生错误,从而抛出异常.因此,timestamp类必须导入异常类.

而且还有我的循环依赖.
现在我的实际问题是(这就是为什么它独立于语言):在这种情况下,为避免循环依赖,什么是正确的设计?我无法解决这个问题,因为我无法找到解决办法让这些类像现在一样独立,但没有循环依赖.

我放弃了整个“Exception-has-timestamp-property”的想法.例外情况应该表明特殊行为,而不是其他.也许你想做一些伐木?记录器跟踪时间戳并将它们与适当的异常配对更有意义.

问问自己异常的工作是什么.显然,一个例外的工作就是被抛出.这取决于何时被抛出?不.异常是否关心这一点?不.还有其他事情吗?是的,异常记录器.但是,由于记录器是关心时间戳的人,因此记录器也应该获取这些时间戳,并对它们进行处理.毕竟,这是其工作的一部分.而且,在适当的设计中,记录器不会将部分工作外包给异常.

循环依赖解决了.

网友评论