PlayGround Article 開発 Swift デザインパターン復習会 Composite mcz9mm 2018年6月17日 Created with Sketch. 0 Created with Sketch. 263 # Composite 意味: 合成、複合 再帰的な構造を表現する。階層構造で表現されるオブジェクトの取扱いを容易にする。 ## Code ```swift:IsonoFamiry.swift protocol IsonoFamiry { func sayName() } ``` ```swift:Isonoke.swift class Isonoke: IsonoFamiry { var family: [IsonoFamiry] = [] func sayName() { for someone in family { someone.sayName() } } } ``` ```swift:Member.swift class Member: IsonoFamiry { let name: String init(_ name: String) { self.name = name } func sayName() { print("磯野\(name)です") } } ``` ## Usage ```swift:ViewController.swift let kastuo = Member("かつお") let wakame = Member("わかめ") let tarao = Member("たらお") let isonoke = Isonoke() isonoke.family.append(kastuo) isonoke.family.append(wakame) isonoke.family.append(tarao) isonoke.sayName() //========== //磯野かつおです //磯野わかめです //磯野たらおです ```