我遇到两个类之间依赖关系的麻烦. 问题如下: 我有两个类,Timestamp和Exception.异常是抽象的,所有可能的异常都来自这个抽象类. 每个异常都有一个时间戳来告诉抛出异常的时间.所以异常
问题如下:
我有两个类,Timestamp和Exception.异常是抽象的,所有可能的异常都来自这个抽象类.
每个异常都有一个时间戳来告诉抛出异常的时间.所以异常需要包括(在我使用它的语言中称为import)时间戳类.
但是,如果使用时间戳错误,则会发生错误,从而抛出异常.因此,timestamp类必须导入异常类.
而且还有我的循环依赖.
现在我的实际问题是(这就是为什么它独立于语言):在这种情况下,为避免循环依赖,什么是正确的设计?我无法解决这个问题,因为我无法找到解决办法让这些类像现在一样独立,但没有循环依赖.
问问自己异常的工作是什么.显然,一个例外的工作就是被抛出.这取决于何时被抛出?不.异常是否关心这一点?不.还有其他事情吗?是的,异常记录器.但是,由于记录器是关心时间戳的人,因此记录器也应该获取这些时间戳,并对它们进行处理.毕竟,这是其工作的一部分.而且,在适当的设计中,记录器不会将部分工作外包给异常.
循环依赖解决了.