現在参加させていただいているCA-TechAccelで学んだことを記事にしてアウトプットしている最中でTestableなコードを意識する上でProtocolを使用する流れになったので調べたことや気づいたことをまとめる備忘録として書いていこうと思います。ProtocolとはSwiftのプロトコルは、型のインターフェースを定義するものです。インターフェースを定義し、抽象化することによって、複数の型で共通の機能を実装することができます。プロトコルはクラス、構造体、列挙型などで使われ、プロトコルのインターフェースを満たす型は、プロトコルに準拠していると言われています。参考にしたサイトメンターさんからこんなことを聞きました。[ToDo])}思っているより単純。やってることとしてはstructを作っているみたい。その後に実際にこのprotocolに準拠したserviceを作成してみる。}}この2つのメソッドが作成されていなければブチギレられるので注意!このように明示的にどのようなメソッドが作られるのか、あらかじめ指定しておくことでViewModelなどで、いちいちインスタンスを作らなくても良くなる簡単なイメージ実際にインスタンスを作成するのはViewで作成することになるのだが、それまではprotocol(仕様書)を用いてコードをカキカキします。それをイメージする前に一旦インスタンスについておさらいしましょう。インスタンスはよく車の製造に喩えられますよね例えば、色に赤色染料を入れるのか、それとも青色染料を入れるのか。車を作る際のの型の中に流し込む染料がインスタンスと言われます。その設計書がprotocolな訳です。車を作る過程で実際にコンベアの上で実物(インスタンス)を作成するまでの間、設計であったり、さまざまなMTGの場で使われるのはインスタンスではなく、設計書ですよね?毎回毎回インスタンスを作らないようにして、設計書に沿って話を進めていく。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。