4/21.log
log
今日は午前中は例によってアーキテクチャを考えていて午後からは眼鏡屋に行ってからまたプログラミングをしていました。
アーキテクチャの進捗
今日はクリーンアーキテクチャの記事やgrpcでの採用例を考えつつ実装をしていました。下に写真を載せていますが今のところ下部分のアーキテクチャを採用していて既にコードはできています。アーキテクチャについて考えていれば必ず当たる問題ではあると思うのですが今それの解決をしています。厳密にいうと解決はできているのですがそれによって実装していたコードが思うような動作をしてくれていない状態です。上書きした関数が動作してくれていないんです。
原因は本来構造体が渡される箇所に対し自分が注入をするような関数を渡していて最終的に生成されたコードのインターフェースを渡しているのですがそこに上書きされた関数を渡していないです。原因はわかっているので直せば済むのですがちょっと強引な感じがしていてもう少し解決策を考えている途中です。
DIに関しても今は手動で関数を書いているのですがwireといったライブラリを使った方が簡単ですかね?存在だけ知っているといった感じなので使い方も調べてみようと思います!使いやすそうなら今回のアプリケーションに取り入レようと思います!
今日感じたこと
今日感じたことですがいまだにgoにおけるインターフェースの使い方が曖昧になっている気がします。PHPでのインターフェースについては理解できているのですがgoではわかっていないです。というのもPHPならインターフェースを実装するときimpliments(つづりあってる?)をつけてインターフェースを読み込み、実装できていないものがあればエラーが出ると思うのですがgoはインターフェースを使ってレシーバーにしたり同じ名前の構造体を入れたりしていてあまり動きがわかっていないです。
インターフェースについてもう少し調べたら今の問題に関しても理解できるかもしれません。調べてみたいと思います!