我的场景涉及以下类:
我有三种类型的Peer
来创建一个RegistryType
实例,因为它的方法是必需的。Identity
类也是如此。为了完成他们的工作,每个PeerType
需要0或所有的RegistryType
方法。然后通过创建一个Peer
实例来运行每个Server
实例,该实例通过传递回调来利用Peer
定义的方法之一。
我试图实现的是解决PeerType
类和RegistryType
类之间的紧密耦合。我的想法是定义一个通用的Peer
类,每个类型都从该类继承,并使用RegistryType
定义依赖关系。
目标语言是Python,所以要么用Peer
构造RegistryType
,要么用Registry
构建。
即使定义了一个新的Peer
类来封装RegistryType
,我认为这两个类仍然是紧密耦合的,所以(也许)一个解决方案是将一个RegistryType
实例传递给Peer
类,而不是在它的构造函数中构造它。
我希望收到一些很好的建议。谢谢。
EDIT1:我会尽量说得更具体些。
每个PeerType
实现一些作为参数传递给Server
的run
方法的逻辑。该方法还依赖于OTT_RPC
类,因为它需要callback_ottrpc
函数来创建HandshakeServer
并完成握手(start_handshake
)。
我的第一个问题是,每个对等类型都由一个类Server
运行,但是Holder
提供了两个应该传递给run
方法的不同服务,而Verifier
只提供了一个,所以我需要解决这种不一致性。
第二,Server
、HandshakeServer
和OTT_RPC
之间的循环依赖关系。
https://softwareengineering.stackexchange.com/questions/426055
复制相似问题