関心の分離

IT 

関心の分離 separation of concerns (かんしんのぶんり)

システムの設計思想。

インプットからアウトプットまでの一連の動作を機能単位で分割し、それぞれに対し、「どのようなことをしたいのか」で分類し、その機能単位で実装しようという設計思想。

たとえば、djangoであれば、データベースとのデータの出し入れは model が担い、htmlページのレンダリングは template が担う。
view は全体の流れをコントロールする。

このとき、 model 用のモジュールには model らしい処理のみを記述するように務める。
view 用のモジュールには、 view らしい処理のみを記述するように務める。

モジュール内にそのモジュールで行いたいこと以外の機能が増えてきた際には、別のモジュールを作り、そこにプログラムを置き換えたりする。

たとえば、システムをアップデートしているうちに、 views モジュールに決済に係る処理が増えてきたら、 新たに payments という名前のモジュールを作り、views モジュールから移転させる。

掲載用語一覧:

TOPへ(新着順に表示できます)

i18n 
アセンブリ言語  (assembly language)
アンスコ 
イテラブル  (iterable)
イテレート  (iterate)
イミュータブル  (immutable)
インスタンス  (instance)
WSGI 
ウェルノウンポート  (well known port)
API 
SQL 
m17n 
MTVフレームワーク  (mtv framework)
MVCフレームワーク  (mvc framework)
l10n 
LTS 
演算子  (operator)
オブジェクト指向プログラミング  (object oriented programming)
仮想環境  (virtual environment)
関心の分離  (separation of concerns)
git 
github 
キャメルケース  (Camel Case)
クッキー  (Cookie)
クライアント  (client)
クラス  (class)
クラスの継承  (class inheritance)
CRUD 
ケバブケース  (kebab case)
高階関数  (high order function)
コンパイラ  (compiler)
サーバ  (server)
CMS 
JSON 
識別子  (identifier)
辞書  (dictionary)
車輪の再発明  (reinventing the wheel)
シリアライズ  (seralize)
スネークケース  (snake case)
セッション  (Session)
多重継承  (multiple inheritance)
dunder 
ディストリビューション  (distribution)
デシリアライズ  (deserialize)
DRY 
認可  (authorization)
認証  (certification)
パスカルケース  (Pascal Case)
ハッシュ  (hash)
バッテリーインクル-デッド  (battery included)
バリデーション  (validation)
引数  (argument)
ビルトイン  (built in)
フレームワーク  (framework)
プロトコル  (protocol)
ポート番号  (port number)
メソッド  (method)
メンバー  (member)
UUID 
ライブラリ  (library)
LAMP 
リクエストメソッド  (request method)
RESTful 
レンダリング  (rendering)

この用語集はこんな人が書いています