フレームワークに依存しない開発は難しい
公開日時:
フレームワークに依存しない開発は難しい。
要約(結論)
- あなたの使っているフレームワークが破壊的変更がなくなおかつそのプロジェクトが終わるまで末永く続くものだと信じましょう(諦め)
- メジャーバージョンアップデートはさぼらずちゃんとしましょう(決意)
- ディレクトリ構造はちゃんとドキュメント化しましょう(悲壮)
- あるいは CodeIgniter みたいなシンプルなフレームワークを使ってクリーンアーキテクチャを実施するのがいいんじゃないかな!(投げやり)
本文
とくに Web 開発とかしていると感じますが、Laravel とかは完全に「それ一つで全て完結させる」ためのものなので、どうしたって依存するしかないです。 プログラミング言語と同じようなレベルで後方互換性が保たれるなら、そのままベンダーロックインしてもいいのですが、そういうフレームワークはなかなかない…難しい。
とまぁそんなこんなつらつらと考えていましたが、最終的に「そのフレームワークに則りつつ、いつでも逃げられるような設計をしておく」しかないのだろうなぁと思いました。
具体的には以下のようにちゃんとディレクトリ構造などを考えておく…というよりちゃんと明文化しておく感じ。 いろんな人がすでに考えて同じ結論に達してるのですが、まぁ私の中の一種の決心ということで残しておこうかと思います。
具体的に、Laravel を利用している場合は以下のような感じでドキュメント化しておくといいのですかね…。
レイヤードアーキテクチャの感じで分類する感じ…。って言おうとしたけど普通に面倒だこれ!
app/Exceptions
とかどうすればいいんだ!
やっぱ普通に Laravel フレームワーク自体を UI 層にしておいて、パッケージを分けておくのが平和かもしれない…。でもそれじゃぁ Laravel 使う意味がほぼなくなる…。なんだこれ難しい!
結論
- あなたの使っているフレームワークが破壊的変更がなくなおかつそのプロジェクトが終わるまで末永く続くものだと信じましょう(諦め)
- メジャーバージョンアップデートはさぼらずちゃんとしましょう(決意)
- ディレクトリ構造はちゃんとドキュメント化しましょう(悲壮)
- あるいは CodeIgniter みたいなシンプルなフレームワークを使ってクリーンアーキテクチャを実施するのがいいんじゃないかな!(投げやり)
いやマジでどうすればいいんや!!!(以下無限ループ