andante

2020-11-29

1128

土曜日趣味プロジェクトを触っていたのだけど途中でルーティングの抽象化について考えたいという気持ちが起こり夜はそちらを考えていた以前考えていたルーティング機構はまあルーティングを簡単に書けるDSL的なもので特に抽象化を想定していたわけではないのだけどルーティングをViewから切り離せればUseCase側に書けるじゃんという着想がありじゃあやってみるかとなった次第しかし型合わせゲームが厳しくてなかなか大変associated typeがあるプロトコルは自動でexistential typeを生成してくれないのだけどこれが結構厳しい制約でというかプロトコルを型として書いているところは基本的に暗黙的なexistential typeを指定していたことになっていたのであってそれができないassociated typeを持つ場合は全然そんな風には書けないのだったこのあたりの制約を理解するのにだいぶ時間がかかってしまったとりあえず今は適当に型を消去して実行時に呼び出しを切り替える方法でなんとかしているがこれもなぜ動いているのかはよくわかっていないこの動的ディスパッチほんとに大丈夫なのか

あとは餃子を作って食べたりした餃子はだいぶ上達してきた感じがあるかなり無難に作れる

1129

今日もコード書いていたルーティングの続きとりあえず基本的な動きは満足できる感じになったいま趣味プロジェクトで動かしてるものよりもインターフェイスが扱いやすいテストも通っているが親階層へのアクセスがまだできていないここも型安全に書きたい気持ちはあったけど遷移元が複数あることなどを考えると難しそうだ
あと本題であるところの画面遷移とUIKitとの分離もうまくできているこれでUIKit依存性はプレゼンテイション層に集約しつつユースケースが画面遷移をプロトコルベースで定義呼び出しすることができるであろう嬉しい

夜は友人とスキヤキを食べに行ったソーシャルディスタンス仕様で小分けになっていたふーむ風情がないが仕方なかろう肉はおいしかったいい肉の日だしな


さて明日は仕事Reactをやる日本業は今月の間は放置していいでしょうまあ今月は明日で終わりだけども