0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

アイキャッチ

まえがき

こんにちは。ko-tarou です。
今回は、意外と説明するのが難しい 「 アーキテクチャ 」 について、まとめました。

「アーキテクチャって何?」 「なぜ必要なの?」

という疑問を持っている方の参考になれば幸いです。

アーキテクチャとは

一言で言うと、アーキテクチャとは 「システムの構造のこと」 です 。


現在コーディングしている方は、

「 ファイルをどう分けるか? 」

と言うことを想像していただければわかりやすいかと思います。


image.png

上の図のように、

  • 「 単一のファイルで書く 」
  • 「 フロントとバックで分ける 」
  • 「 ページごとに分ける 」

など、このような構造も アーキテクチャ の一つです。

広い視点でのアーキテクチャ

先ほど述べた例はあくまで、アプリ内のアーキテクチャです。
しかし、アーキテクチャはもっと広義であり、以下のような種類があります。

  • アプリ全体
  • サービス全体
  • クラウド
  • API・DB
  • 人材配置

など、多様な場面でアーキテクチャは使用されます。

なぜアーキテクチャが必要なのか?

一言で言うと、「 開発効率のため 」 です 。

もう少し具体化すると、以下の 2 つです。

  • 拡張しやすくするため
  • 共通認識を持つため

それぞれ説明します。

拡張しやすくするため

きちんと構造化されていると、
新しい機能を追加するときに、迷うことなく実装することができます。

また、適切な共通化を行うことで、拡張する上での負荷を減らすことができます。

共通認識を持つため

チーム開発では、全員が同じ認識を持つことが非常に重要です。
しかし、細かいコードの処理内容まで共有しすぎると、効率が落ちてしまいます。

アーキテクチャと言う 「 良い抽象度 」 の共通言語があることで、
システムの全体像をチームに共有できます。

アーキテクチャに入門するには?

「具体的に何を勉強すればいいの?」と思った方へ、入門方法を紹介します。

まずは、気軽に有名なキーワードで検索し、Qiita を漁ることをお勧めします。
以下はお勧めのキーワードです。

  • 全般・思想
    • SOLID
    • Clean Architecture
    • 4c-model
  • Web
    • SPA
    • Flux
    • MVC
    • BFF
  • モバイル
    • MVVM
    • TCA
    • Flux
    • MVC

また、本格的に学びたい方には、オライリー・ジャパンの以下の書籍がおすすめです。

『ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ』

あとがき

この記事をお読みいただきありがとうございます。

まずは自分の興味のある分野で、
よく使われているアーキテクチャ名を調べてみることをお勧めします。

この記事だどなたかの一助になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?