【发布时间】:2010-05-14 06:16:14
【问题描述】:
我有三个班级:
- 客户
- 会话
- 套接字
Session 和 Socket 都依赖于客户端来创建这两个对象。
会话依赖于套接字,没有会话就不会创建套接字。
客户端是否应该有一个函数可以公开创建 Session 并私下创建 Socket?
不违反得墨忒耳定律吗?
编辑:
当前代码:
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
}
现在有些事情告诉我,会话不应该负责从客户端获取套接字,而客户端应该创建会话。
我说的对吗?
【问题讨论】:
标签: language-agnostic law-of-demeter