Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える

devfest 2017 tokyo の発表資料です。

当日は入室できない人もいたらしい & 機材トラブルで10minほど開始が遅れてしまった
ということで申し訳なく思っています。

また、立ち見する価値がある内容を提供できたのだろうか? とも思っています。

スライドは単体でも発表内容が伝わるように文章を多めに載せているので、
是非確認してみてください。
100ページ越えていますが・・・。


発表資料の背景

当初は golang のコードベースでレイヤ実装を紹介する予定だったのですが、
資料を作っている過程で
レイヤ実装の注意点(ルール)を知らなければ、
「なぜそういう実装になるのか?」が伝わりづらいなと感じました。

そこで、「レイヤ実装の注意点(ルール)」をメインコンテンツにしようと決めました。

なので、「レイヤ内実装」というわりには抽象的な話になってしまった気もします。
ここら辺は難しいですね・・・。

機会があれば、さらに実装に踏み込んだ話や
発表ではあまり振れることのできなかったドメインレイヤの実装についても
お話させていだければと思います。

twitter上の反応




これはおっしゃる通り。
完全に抽象化することができないケースもありますね。
ここがなかなか難しいところ。






そーいえば、DIPとして説明してなかったなと・・・。
最初のレイヤ図にちょろっと書いただけで説明するの忘れてしまった・・・。






こちら仰る通りです。
発表後に修正したスライドに差し替えようと思ったのですが、
slideshare では差し替えられない(?) みたいなので、
時間見つけて調べてみます。
以前は差し替えられた気がするのですが・・・。
ありがとうございました。



発表資料上のコードだけだとそー見えてしまいますが、
コマンドではないですね。
ただ、コマンドでもいいとは思します。
ここは好みですかね。