最近、Modelの設計をちゃんと勉強したいなと思うようになり「ドメイン駆動設計入門」という本を読み始め、今は6章を読んでいるところです。 サンプルコードはC#で書かれていますが、とても分かりやすく、iOSを勉強している人にも是非オススメしたい一冊です。 特に、2章 (主に2.5節) の 値オブジェクト についての内容が勉強になったので、Swiftのコードを使って紹介します。 改善前 例えば、ToDoアプリのドメインモデルとして、以下のようなModelがあるとします。 final class ToDo { let id: String private(set) var title: String init(id: String, title: String) { self.id = id self.title = title } func changeTitle(_ title: Strin