0129
Twitter2をリファクタ、というか再構築して、クレートを分割してワークスペースにした。これでだいぶDDDというかClean Architectureっぽくなる。なると何が嬉しいというわけでもない。別にすべてをClean Architecture(あるいはその他のごついアーキテクチャ)で作るべきだと思っているわけではないが、趣味開発の時くらいこういう素振りをやっておかないと、いざという時のための筋力がつかない。
これでいよいよ本格的な実装に入れるかと思ったが、ドメイン層の設計にまだ悩んでいる。(少なくとも一部の)ドメインエンティティはCloneを実装すべきではないのではないか?ムーブセマンティクスと併用すれば変なロジックを防げるとと思われるが、好き勝手にcloneできたらそれが迂回できてしまう気がする。うーむ。その路線がどのくらいうまくいくのか試してみるか。こんなことしているから全然完成しないのだ。
寝る。