Oop 当创建一个类的实例从另一个类的实例读取时,该逻辑应该放在哪里?
假设我正在使用两个图形模型,Oop 当创建一个类的实例从另一个类的实例读取时,该逻辑应该放在哪里?,oop,design-patterns,Oop,Design Patterns,假设我正在使用两个图形模型,MyNode和MyPath(极度简化) 类MyNode{ 身份证号码:, } 类MyPath{ 路径:字符串, } 要创建MyPath对象,我有两个选项:要么创建仅包含MyNode的路径,要么创建连接其他两个MyNode的路径: 函数createRootMyPath(rootMyNode){ 返回新的MyPath({path:rootMyNode.id}) } 函数createConnectionMyPath(myNode1、myNode2){ 返回新的MyPa
MyNode
和MyPath
(极度简化)
类MyNode{
身份证号码:,
}
类MyPath{
路径:字符串,
}
要创建MyPath对象,我有两个选项:要么创建仅包含MyNode的路径,要么创建连接其他两个MyNode的路径:
函数createRootMyPath(rootMyNode){
返回新的MyPath({path:rootMyNode.id})
}
函数createConnectionMyPath(myNode1、myNode2){
返回新的MyPath({path:myNode1.id+'.+myNode2.id})
}
虽然MyNode和MyPath实例形成了一个图形并具有非常密切的关系,但它们也可以单独用作自己的模型
在编写这两个MyPath创建方法时,我应该将它们放在哪里
它们是否属于MyPath类,尽管它们与MyNode类有很强的依赖关系?我应该将这两个方法移到工厂类中吗?或者我应该做一些完全不同的事情吗?这些是获取MyPath对象的各种方法,因此我认为它们应该存储在MyPath类中。