[過去ログ] Go language part 3 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
447(1): デフォルトの名無しさん [] 2020/04/28(火) 20:31:42.46 ID:ghSBG3zr(1) AAS
>>445445(2): デフォルトの名無しさん [sage] 2020/04/28(火) 19:31:28.17 ID:Ce9HOSET(1/3) AAS
大きくなってきたんでパッケージを分割
設定とか全体を管理するAパッケージ
httpのリクエストを管理するBパッケージ
webAPIのロジックを管理するCパッケージ
ロジックのインスタンスは設定で作って、リクエストから呼び出して処理してもらう
さて、ここで落とし穴
Cパッケージから設定を参照するためにAパッケージをインポートすると import cycle not arrowed 発生
AパッケージではCパッケージをインポートして、ロジックのファクトリを呼び出してる
インポートの循環の制約とか、それは厳しすぎやしませんかね
第三の上位パッケージを作ればなんとかなるのかなぁ?
Goに限らずモジュール境界はインタフェースで抽象化するもんじゃ?
そうしないとユニットテストつらい
493(1): デフォルトの名無しさん [sage] 2020/05/14(木) 17:27:46.77 ID:ljUxN++I(1) AAS
>>447
ものすごく遅い話なんだけど
そっかー、インタフェース定義とファクトリの実装が同じパッケージにある必然性って全くなかったんだな
io.Reader の実装が到るところにあるように、定義と実装を分離させれば済む話だった
あーでもない、こーでもない
いつの間にかそうリファクタリングしていて、アレ?となった
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.215s*