0

我有三个班级:

  • 客户
  • 会议
  • 插座

会话和套接字都依赖于客户端来创建这两个对象。
会话依赖于套接字,没有会话就不会创建套接字。客户端是否应该有一个公开创建会话和私下创建套接字的功能?
这不违反得墨忒耳定律吗?
编辑:当前代码:

class Client
{
private:
  // Connection details
public:
  shared_ptr<Socket> createSocket(); // returns a new socket if the connection is opened
}

class Session
{
public:
  Session(Client &); // Accepts a client and gets a socket for i/o to the server
}

现在有些事情告诉我会话不应该负责从客户端获取套接字,并且客户端应该创建会话。
我对吗?

4

1 回答 1

0

这取决于。您要告诉我们Client的只是它创建了SessionSocket,仅此而已。

如果Client两者都需要使用,则不存在违规。如果它只是Socket为了提供它而创建Session,我会说这一种违规行为,Session应该得到Socket它自己。

于 2010-05-14T06:36:36.883 回答