開発フレームワーク(バックエンド)
【ゴール】
バックエンド(サーバー)で用いられるフレームワークを理解する
○ Spring Bootとは?【Java フレークワーク】 | こへいブログ
https://kohei.life/spring-boot/
→Javaで主流となっているspring bootが人気の理由を押さえる
○ SpringのDIとAOPについてまとめる。 - Qiita
https://qiita.com/hirooka0527/items/44f7e07114d7225e59ec
→springの特徴はDIとAOP。これらの機能とオブジェクト指向設計、インターフェースの標準化を組み合わせる事で、『最低限のソースコードで機能の実装ができる』
○ オブジェクト指向プログラミングでのクラス分けのコツは役割分担 - Flat Leon Works
https://flat-leon.hatenablog.com/entry/class_design
→クラスには誰でも分かりやすい役割を与えて、命名する事がポイント。誰でも簡単に保守出来るソースコードの効果はコストに如実に現れる
○ 【オブジェクト指向】クラス設計における重要な設計原則について本気で調べた
https://zenn.dev/shimotaroo/articles/77223e7652083e
→最低限のソースコードにするには設計原則(単一責任原則、DRY原則、KISS原則)に従うこと
○ インターフェースとは - Qiita
https://qiita.com/hataggg/items/32516d7dc0737edc220f
→インターフェースをルール化・適用する事が、ソースコードをシンプルにする事を開発プロセスで強制する事ができる
★まとめ
・spring bootが選ばれる理由は『簡単に最低限のソースコードでシステムの実装が可能』、『簡単に変更、拡張も可能』だから
→ソースコードが少ないことは、開発コスト(テストを減らせる)、保守・運用コスト(修正規模を減らせる)の低減に繋がる
・ソースコードを最低限にするポイントは以下の通り
1.クラスの役割を分かりやすいものにする
2.設計原則に従う
3.インターフェースを定義し、メソッドの役割を分かりやすいものにする
→名前で役割が伝わりづらい時はコメント、ドキュメントでフォローしよう