プログラミングスタイル

Last-modified: 2015-03-06 (金) 11:37:34

構造化プログラミング

オブジェクト指向プログラミング

契約プログラミング

ソフトウェア・アーキテクチャ

MVC

モデル(Model:データ)、ビュー(View:表示)、コントローラ(Controller:制御)に分離してソフトウェアを構築するという考え方。
モデルがデータを管理し、データに変更あれば、ビューに知らせる。
ビューは、モデルから受け取ったデータをユーザに見えるように表示装置(ディスプレイやプリンタなど)に表示する。
コントローラは、ユーザからの操作を受け取り、データやビューにそれを知らせる。
このように分離する事で、各層の依存関係を薄くでき、各層の差し替えや、単体テストが容易になる。

MVVM

WPFアプリケーション向けのモデル。
モデル(Model:データ)、ビュー(View:表示)まではMVCと同じだが、コントローラ部分がビューモデル(View-Model:表示データ)に置き換わる。
ビューモデルでは、ビューに適したデータを表して、ビューと繋げるようにしたり(データバインディング)、データの検証を行ったり、エラー情報を提供したり、ビューモデルデータの更新処理などを行うコマンドを提供し、ビューと繋げるようにする(コマンドバインディング)。

ラジアルパターン

Flux

Facebook社が提唱しているモデル。

その他、考え中。

自戒プログラミング

自分である程度の規約を決めてプログラミングすること。
基本ですね。

目的先行プログラミング

都合主義プログラミング

データ構造と処理構造、そしてインタフェース構造