protocol
- Appleによると、
- 「何である」「何ができる」の二種類のprotocol
- 何である: Collection等
- 何ができる: Equatable, Comparable等
Search
#iOSアプリ設計パターン入門 p40あたり モジュールの関係について 上位と下位のお互いがお互いのことを知っているのは最悪 これを病理学的結合という 上位は何も考えず、下位が合わせていくのが良い実装 ただ、上位から下位にアクセスしたいこともある この矛盾の解決のためには、 下位(使う側)が、になる もし上位(使われる側)が下位にアクセスしたければ、実体ではなくprotocolに合わせる 例:ドメイン層とデータベース管理層があったとする。(ドメインが上位) ドメイン層のプログラムは、データベースのことを気にしたくない なので、ドメイン層をプロトコル化する データベースは、そのプロトコルに依存...
https://qiita.com/ktaguchi/items/fc260a0af506f258177d generics.swift func makeTuple(a: T, inout _ b: T) -> (T, T) { if b < a { b = a } return (a, b) } TをComparableというに制限することで、比較を可能にする whereでさらに制限も可能 https://qiita.com/shoheiyokoyama/items/31eca0d4b27bc9608eb8...