ソフトウェアアーキテクチャ
コンピュータソフトウェアのモジュール群を設計し、それらの間で通信を行う共通的な手法は数々存在する。以下に例をあげる。
クライアントサーバモデル
分散コンピューティング
Peer to Peer
パイプとフィルター
プラグイン
SSADM (モジュールベースだが、通常モノリシック)
ソフトウェアコンポーネント (モジュールベース。オブジェクト指向プログラミング)
サービス指向アーキテクチャ
三層モデル
コアドメインの独立 ヘキサゴナルアーキテクチャ(英語版) クリーンアーキテクチャ
UIの分離 Model-View-Controller/MVC: ドメイン・表示・入力の分離 Model-View-ViewModel/MVVM: 状態をもつModelと宣言的Viewの分離、view stateをもちModel↔Viewを仲介するVM