[PHP Conference Japan 2019]「思想と理想の果てに――クリーンアーキテクチャのWEBフレームワークを作ろう」のまとめ
クリーンアーキテクチャ 外側のものが内側に依存 内側のものは外側のものに依存しない いつも思うけど玉ねぎ図は本当は3Dの必要がある気がする #phpcon #phpcon2019
2019-12-01 13:10:05クリーンアーキテクチャ ドメイン層 アプリケーション層 インターフェイス層 UI層 #phpcon #phpcon2019
2019-12-01 13:11:36Entities (ドメインオブジェクト) UseCases (ビジネスロジック) InterfaceAdapters (プレゼンター・コントローラーからユースケース) framework&Driver (ここに依存したくない) #phpcon #Track1
2019-12-01 13:12:18qiita.com/nrslib/items/a… 層は増やしてもいい 依存の方向は内向き ドメインロジックは外のものに依存しない #phpcon #phpcon2019
2019-12-01 13:12:39クリーンアーキテクチャの依存は内向き、内側(ロジック)は外側(Web、DB、UI等)を知らない #phpcon #Track1
2019-12-01 13:14:21Controllerはアプリが求める形式で入力値を変換して渡す。ゲームのコントローラがボタンが押されたことを電気信号で渡すのと同じ #phpcon #Track1
2019-12-01 13:14:39(余談) ゲーム機の場合、ソフトがハードに依存しているのよね。 最もコアな情報(ゲームとして成り立たせるもの)はソフトなので、そこだけクリーンアーキテクチャから逸脱している。 ただしこれは「ハードウェアのほうが変更しにくい」ためで合理的な設計である。 #phpcon #Track1
2019-12-01 13:15:59Entitiesとデータオブジェクトは本当にわけわからなくなる 定義だとなるほどーってなるんだけど、コード書いてると途中で混乱する #phpcon #Track1
2019-12-01 13:16:11クリーンアーキテクチャの実装って悩ましい (´・ω・`) 1からシステム構築し直すか部分的に別サービス化してしまおうかな。 案はいくらかあるけど、この思想を下に理解してもらえないと結局僕が地獄見るん #phpcon #phpcon2019
2019-12-01 13:16:23あの図は初見では「ウッ」ってなるけど、一度丁寧に追いながら実装してみると、全体感がわかって合理的だなあと思える。 #phpcon #Track1
2019-12-01 13:17:06クリーンアーキテクチャってわかりやすく言うと各責務分けをきっちりして密結合を作らないってことだな。 #phpcon #phpcon2019
2019-12-01 13:18:17Web においては、Controller と Presenter が別れてるのは一度発想の転換がいると思っています。 #phpcon #Track1
2019-12-01 13:18:23Interfaceを噛ませてあげることでロジックをメイン、それ以外(Input/Output)が差し替え可能なものとすることができる #phpcon #Track1
2019-12-01 13:19:55