Swift - 我应该将结构与逻辑函数分开吗?

Swift - Should I be separating a struct from logic functions?

我正在写一个纸牌游戏。我见过程序员将 structservice.

分开的示例

我不确定我是否也应该这样做。

但我的问题是——我应该将结构与逻辑函数分开吗?或者可以把它们放在一起吗?

我的代码是这样的:

// Card Model
struct FSCard {
    var type: FSCardType // enum reference
    var name: String
    var value: Int
    weak var owner: FSPlayer?  // class reference

    var description: String {
        return ("Name: \(self.name) Value: \(self.value), Type: \(self.type)")
    }
}

class FSCardAPI: NSObject {
   // static functions
   public static func filter(cards:[FSCard], type:FSCardType) -> [FSCard] 
   {
      // some code goes here ...
   }
}

没有必要将您的结构和 class 分开,尤其是当它们仅存在于一个 view/controller/etc 中并且仅相互协作时。将上面的内容分成两个文件只会增加可读性。当有很多 class 使用您的模型时(在您的情况下 struct FSCard),这是明智的,因为您可以轻松地找到并检查您的结构是否只读或修改它。