gpt4 book ai didi

javascript - 两个类的关注点分离

转载 作者:行者123 更新时间:2023-11-30 13:47:03 30 4
gpt4 key购买 nike

您好,我对在两个类中应用关注点分离概念有疑问

我基本上有我的课

创建匹配

class Match {
constructor (players) {
this.id = uuid.v4 (). toString ();
this.players = players;
this.isActive = false;
}
// Match rest methods ...
}

module.exports = Match;

以及我如何需要匹配集合来执行 socket.io 逻辑

或者需要这些匹配项的数组以便在需要时访问

然后我制作这个类 Matches 或 MatchManager:

class Matches {
constructor() {
this.matches = [];
}

addMatch(match) {
if(match){
this.matches.push(match);
}
}
getMatch(id){
if(id){
return this.matches.find((match) => match.id = match )
}else{
return null;
}

}


}

module.exports = Matches;

在我的类(class)比赛中我有我的 isActive我将使用 isActive 设置为 true 或 false 来开始和结束游戏

所以一个函数开始匹配()和结束匹配()

我需要将我的 isActive 更改为 true 或 false,但我不确定如何在函数中执行此操作(访问特定匹配项)

还有这个设计我还有另一个问题

还有一个疑问我可以创建匹配函数来创建匹配吗?

最佳答案

编程中少即是多。

从最简单的问题解决方案开始。使问题复杂化,您的解决方案中断,现在找到该问题的下一个最简单的解决方案。重申。

如果您所有的 Matches 类都是面向列表的,那么也许它应该是一个列表。

我不知道你是如何与 socket.io 集成的,但想象一下创建新匹配的场景。

// Declare a global matches list, on your app entry.
matches = []

// On a new match event, create a Match, and add to list.
app.on('newMatch', function(players){
matches.push(new Match(players))
});

意见

不要通过添加您可能需要的功能/复杂性来增加自己的难度。在需要时添加它。维护起来更容易,开发起来也更快。

关于javascript - 两个类的关注点分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59097759/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com