🤖
Golangの開発時のメモ
モヤモヤしてる箇所
package の命名規則
- これは best practice ありそう
ドキュメント
- あんまり書いてない
- これは project によるか
ファイルの命名規則
- user の dao も usecase も user.go になると混乱するのだけどこれはなれるのか
usecase の命名規則
- user に関する usecase を UserUsecase としているケースがあるが、これビジネスロジック増えると巨大ファイルになるのでは?
- それぞれのビジネスロジック同士で依存関係がないことが多いし、ビジネスロジック 1 つごとにファイルがあってもいいのでは?
- CreateUserUsecase, SendMessageToUserUsecase とかそういう function 単位のイメージ
dao と usecase の関係
- 実装によって、dao 層と usecase 層がごちゃまぜになってるような気がする
- dao 層 : 一般的な永続化の処理
- usecase 層 : dao 層も用いながら、ビジネスロジックを実装する層
- というイメージだったが、実装によってはごちゃまぜになってるように見える箇所がある
interface の使い方
- テスト書くために mock が必要で、そのためにだけに interface 定義してる箇所が結構ある
- project による気もする
- 本来的には DIP の実践のために interface を使うべきではないか?と思ったりするが確信がない
Discussion